Intelligent mechatronic control suspension system based on quantum soft computing

ABSTRACT

A control system for optimizing a shock absorber having a non-linear kinetic characteristic is described. The control system uses a fitness (performance) function that is based on the physical laws of minimum entropy and biologically inspired constraints relating to mechanical constraints and/or rider comfort, driveability, etc. In one embodiment, a genetic analyzer is used in an off-line mode to develop a teaching signal. The teaching signal can be approximated online by a fuzzy controller that operates using knowledge from a knowledge base. A learning system is used to create the knowledge base for use by the online fuzzy controller. In one embodiment, the learning system uses a quantum search algorithm to search a number of solution spaces to obtain information for the knowledge base. The online fuzzy controller is used to program a linear controller.

BACKGROUND

[0001] 1. Field of the Invention

[0002] The disclosed invention is relates generally to control systems, and more particularly to electronically controlled suspension systems.

[0003] 2. Description of the Related Art

[0004] Feedback control systems are widely used to maintain the output of a dynamic system at a desired value in spite of external disturbances that would displace it from the desired value. For example, a household space-heating furnace, controlled by a thermostat, is an example of a feedback control system. The thermostat continuously measures the air temperature inside the house, and when the temperature falls below a desired minimum temperature the thermostat turns the furnace on. When the interior temperature reaches the desired minimum temperature, the thermostat turns the furnace off. The thermostat-furnace system maintains the household temperature at a substantially constant value in spite of external disturbances such as a drop in the outside temperature. Similar types of feedback controls are used in many applications.

[0005] A central component in a feedback control system is a controlled object, a machine, or a process that can be defined as a “plant”, having an output variable or performance characteristic to be controlled. In the above example, the “plant” is the house, the output variable is the interior air temperature in the house and the disturbance is the flow of heat (dispersion) through the walls of the house. The plant is controlled by a control system. In the above example, the control system is the thermostat in combination with the furnace. The thermostat-furnace system uses simple on-off feedback control system to maintain the temperature of the house. In many control environments, such as motor shaft position or motor speed control systems, simple on-off feedback control is insufficient. More advanced control systems rely on combinations of proportional feedback control, integral feedback control, and derivative feedback control. A feedback control based on a sum of proportional feedback, plus integral feedback, plus derivative feedback, is often referred as PID control.

[0006] A PID control system is a linear control system that is based on a dynamic model of the plant. In classical control systems, a linear dynamic model is obtained in the form of dynamic equations, usually ordinary differential equations. The plant is assumed to be relatively linear, time invariant, and stable. However, many real-world plants are time-varying, non-linear, and unstable. For example, the dynamic model may contain parameters (e.g., masses, inductance, aerodynamics coefficients, etc.), which are either only approximately known or depend on a changing environment. If the parameter variation is small and the dynamic model is stable, then the PID controller may be satisfactory. However, if the parameter variation is large or if the dynamic model is unstable, then it is common to add adaptive or intelligent (AI) control functions to the PID control system.

[0007] AI control systems use an optimizer, typically a non-linear optimizer, to program the operation of the PID controller and thereby improve the overall operation of the control system.

[0008] Classical advanced control theory is based on the assumption that near of equilibrium points all controlled “plants” can be approximated as linear systems. Unfortunately, this assumption is rarely true in the real world. Most plants are highly nonlinear, and often do not have simple control algorithms. In order to meet these needs for a nonlinear control, systems have been developed that use soft computing concepts such as genetic algorithms, fuzzy neural networks, fuzzy controllers and the like. By these techniques, the control system evolves (changes) over time to adapt itself to changes that may occur in the controlled “plant” and/or in the operating environment.

[0009] When a genetic analyzer is used to develop a teaching signal for a fuzzy neural network, the teaching signal typically contains unnecessary stochastic noise, making it difficult to later develop an approximation to the teaching signal. Further, a teaching signal developed for one operational condition (e.g. one type of road) may produce poor control quality when used in a different environment (e.g., on a different type of road).

SUMMARY

[0010] The present invention solves these and other problems by providing a quantum algorithm approach for global optimization of a knowledge base (KB) and a robust fuzzy control algorithm design for intelligent mechatronic control suspension system based on quantum soft computing. In one embodiment, a quantum genetic search algorithm is used to develop a universal teaching signal that provided good control qualities over different types of roads. In one embodiment, a genetic analyzer produces a training signal (solutions) for each type of road, and a quantum search algorithm searches the training signals for information needed to construct the universal training signal. In one embodiment, an intelligent suspension control system, with quantum-logic feedback for the simulation of robust look-up tables is provided. The principle of minimal entropy production rate is used to guarantee conditions for robustness of fuzzy control. Gate design for dynamic simulation of genetic and quantum algorithms is provided. Dynamic analysis and information analysis of the quantum gates leads to “good” solutions with the desired accuracy and reliability.

[0011] In one embodiment, the control system uses a fitness (performance) function that is based on the physical laws of minimum entropy and biologically inspired constraints relating to rider comfort, driveability, etc. In one embodiment, a genetic analyzer is used in an off-line mode to develop a teaching signal for one or more roads having different statistical characteristics. Each teaching signal is optimized by the genetic algorithm for a particular type of road. A quantum algorithm is used to develop a single universal teaching signal from the teaching signals produced by the genetic algorithm. An information filter is used to filter the teaching signal to produce a compressed teaching signal. The compressed teaching signal can be approximated online by a fuzzy controller that operates using knowledge from a knowledge base. The control system can be used to control complex plants described by nonlinear, unstable, dissipative models. The control system is configured to use smart simulation techniques for controlling the shock absorber (plant).

[0012] In one embodiment, the control system comprises a learning system, such as a neural network that is trained by a genetic analyzer. The genetic analyzer uses a fitness function that maximizes sensor information while minimizing entropy production based on biologically-inspired constraints.

[0013] In one embodiment, a suspension control system uses a difference between the time differential (derivative) of entropy from the learning control unit (that is, the entropy production rate of the control signal) and the time differential of the entropy inside the controlled process (or a model of the controlled process, that is, the entropy production rate of the controlled process) as a measure of control performance. In one embodiment, the entropy calculation is based on a thermodynamic model of an equation of motion for a controlled process plant that is treated as an open dynamic system.

[0014] The control system is trained by a genetic analyzer that generates a teaching signal for each solution space. The optimized control system provides an optimum control signal based on data obtained from one or more sensors. For example, in a suspension system, a plurality of angle and position sensors can be used. In an off-line learning mode (e.g., in the laboratory, factory, service center, etc.), fuzzy rules are evolved using a kinetic model (or simulation) of the vehicle and its suspension system. Data from the kinetic model is provided to an entropy calculator that calculates input and output entropy production of the model. The input and output entropy productions are provided to a fitness function calculator that calculates a fitness function as a difference in entropy production rates for the genetic analyzer constrained by one or more constraints obtained from rider preferences. The genetic analyzer uses the fitness function to develop set training signals for the off-line control system, each training signal corresponding to an operational environment. A quantum search algorithm is used to reduce the complexity of the teaching signal data across several solution spaces by developing a universal teaching signal. Control parameters (in the form of a knowledge base) from the off-line control system are then provided to an online control system in the vehicle that, using information from the knowledge base, develops a control strategy.

[0015] In one embodiment, the invention includes a method for controlling a nonlinear object (a plant) by obtaining an entropy production difference between a time differentiation (dS_(u)/dt) of the entropy of the plant and a time differentiation (dS_(c)/dt) of the entropy provided to the plant from a controller. A genetic algorithm that uses the entropy production difference as a fitness (performance) function evolves a control rule in an off-line controller. The nonlinear stability characteristics of the plant are evaluated using a Lyapunov function. The genetic analyzer minimizes entropy and maximizes sensor information content. Filtered control rules from the off-line controller are provided to an online controller to control suspension system. In one embodiment, the online controller controls the damping factor of one or more shock absorbers (dampers) in the vehicle suspension system.

[0016] In one embodiment, the control method also includes evolving a control rule relative to a variable of the controller by means of a genetic algorithm. The genetic algorithm uses a fitness function based on a difference between a time differentiation of the entropy of the plant (dS_(u)/dt) and a time differentiation (dS_(c)/dt) of the entropy provided to the plant. The variable can be corrected by using the evolved control rule.

[0017] In one embodiment, the invention comprises a self-organizing control system adapted to control a nonlinear plant. The AI control system includes a simulator configured to use a thermodynamic model of a nonlinear equation of motion for the plant. The thermodynamic model is based on an interaction with a Lyapunov function (V), and the simulator uses the function V to analyze control for a state stability of the plant. The control system calculates an entropy production difference between a time differentiation of the entropy of said plant (dS_(u)/dt) and a time differentiation (dS_(c)/dt) of the entropy provided to the plant by a low-level controller that controls the plant. The entropy production difference is used by a genetic algorithm to obtain an adaptation function wherein the entropy production difference is minimized in a constrained fashion. The genetic algorithm provides a plurality of teaching signals, corresponding to a plurality of solution spaces. The plurality of teaching signals are processed by a quantum search algorithm to find a global teaching signal. In one embodiment, the global teaching signal is filtered to remove stochastic noise. The global teaching signal is provided to a fuzzy logic classifier that determines one or more fuzzy rules by using a learning process. The fuzzy logic controller is also configured to form one or more control rules that set a control variable of the controller in the vehicle.

[0018] In yet another embodiment, the invention comprises a new physical measure of control quality based on minimum production entropy and using this measure for a fitness function of genetic algorithm in optimal control system design. This method provides a local entropy feedback loop in the control system. The entropy feedback loop provides for optimal control structure design by relating stability of the plant (using a Lyapunov function) and controllability of the plant (based on production entropy of the control system). The control system is applicable to a wide variety of control systems, including, for example, control systems for mechanical systems, bio-mechanical systems, robotics, electromechanical systems, etc.

[0019] In one embodiment, a Quantum Associative Memory (QuAM) with exponential storage capacity is provided. It employs simple spin-1/2 (two-state) quantum systems and represents patterns as quantum operators. In one embodiment, the QuAM is used in a quantum neural network. In one embodiment, a quantum computational learning algorithm that takes advantages of the unique capabilities of quantum computation to produce a neural networks.

BRIEF DESCRIPTION OF THE FIGURES

[0020] The above and other aspects, features, and advantages of the present invention will be more apparent from the following description thereof presented in connection with the following drawings.

[0021]FIG. 1 illustrates a general structure of a self-organizing intelligent control system based on soft computing.

[0022]FIG. 2 illustrates the structure of a self-organizing intelligent suspension control system with physical and biological measures of control quality based on soft computing

[0023]FIG. 3 illustrates the process of constructing the Knowledge Base (KB) for the Fuzzy Controller (FC).

[0024]FIG. 4 shows twelve typical road profiles.

[0025]FIG. 5 shows a normalized auto-correlation function for different velocities of motion along the road number 9 from FIG. 4.

[0026]FIG. 6A is a plot showing results of stochastic simulations based on a one-dimensional Gaussian probability density function.

[0027]FIG. 6B is a plot showing results of stochastic simulations based on a one-dimensional uniform probability density function.

[0028]FIG. 6C is a plot showing results of stochastic simulations based on a one-dimensional Reileigh probability density function.

[0029]FIG. 6D is a plot showing results of stochastic simulations based on a two-dimensional Gaussian probability density function.

[0030]FIG. 6E is a plot showing results of stochastic simulations based on a two-dimensional uniform probability density function.

[0031]FIG. 6F is a plot showing results of stochastic simulations based on a two-dimensional hyperbolic probability density function.

[0032]FIG. 7 illustrates a full car model.

[0033]FIG. 8 shows a control damper layout for a suspension-controlled vehicle having adjustable dampers.

[0034]FIG. 9 shows damper force characteristics for the adjustable dampers illustrated in FIG. 8.

[0035]FIG. 10 shows the structure of an SSCQ from FIG. 2 for use in connection with a simulation model of the full car and suspension system.

[0036]FIG. 11 is a flowchart showing operation of the SSCQ.

[0037]FIG. 12 shows time intervals associated with the operating mode of the SSCQ.

[0038]FIG. 13 is a flowchart showing operation of the SSCQ in connection with the GA.

[0039]FIG. 14 shows the genetic analyzer process and the operations of reproduction, crossover, and mutation.

[0040]FIG. 15 shows results of variables for the fuzzy neural network.

[0041]FIG. 16A shows control of a four-wheeled vehicle using two controllers.

[0042]FIG. 16B shows control of a four-wheeled vehicle using a single controller to control all four wheels.

[0043]FIG. 17 shows phase plots of β versus dβ/dt for the dynamic and thermodynamic response of the suspension system to three different roads.

[0044]FIG. 18 shows phase plots of S versus dS/dt corresponding to the plots in FIG. 17.

[0045]FIG. 19 shows three typical road signals, one signal corresponding to a road generated from stochastic simulations and two signals corresponding to roads in Japan.

[0046]FIG. 20 shows the general structure of the intelligent control system based on quantum soft computing.

[0047]FIG. 21 shows the structure of a self-organizing intelligent control system with physical and biological measures of control quality based on quantum soft computing

[0048]FIG. 22 shows inversion about an average.

[0049]FIG. 23 shows inversion about average operation as applied to a superposition where all but one of the components are initially identical and of magnitude O(1/{square root}{square root over (N)}) and where one component is initially negative

[0050]FIG. 24 shows amplitude distributions resulting from the various quantum gates involved in Grover's quantum search algorithm for the case of three qubits, where the quantum states which are prepared by these gates are (a) |s

=|000

, (b) H^((2m))|s

, (c) I_(x) ₀ H^((2m))|s

, (d)H ^(2m))I_(x) ₀ H^((2m))|s

, (e) —I, H^((2m))I_(x) ₀ H^((2m))|s

), (f) —H^((2m))I_(s)H^((2m))I_(x) ₀ H^((2m))|s

FIG. 25 shows a comparison of GA and QSA structures.

[0051]FIG. 26 shows the structure of the Quantum Genetic Search Algorithm.

[0052]FIG. 27 shows the generalized QGSA with counting of good solutions in look-up tables of fuzzy controllers.

[0053]FIG. 28 shows how a quantum mechanical circuit inverts the amplitudes of those states for which the function j(x) is 1.

[0054]FIG. 29 shows how the operator Q=-I, U⁻¹I, U preserves a 2-dimensional vector space spanned by v_(s) and U⁻¹v_(t), and how it rotates each vector in the space by approximately 2|U_(ts)| radians.

[0055]FIG. 30 is a schematic representation of the quantum oracle U_(f,)

[0056]FIG. 31 shows a quantum mechanical version of the classical-XOR gate as an example for a quantum gate (CNOT gate), where the input state |x, y

is mapped into the output state |x, x⊕y

.

[0057]FIG. 32 shows a variation of coefficients under the (R₉₀D) transformation.

[0058]FIG. 33 shows fragments of lookup tables generated from different road results.

[0059]FIG. 34 shows a general iteration algorithm for information analysis of Grover's algorithm.

[0060]FIG. 35 shows a first iteration of the algorithm shown in FIG. 34.

[0061]FIG. 36 shows a second iteration of the algorithm shown in FIG. 34.

[0062]FIG. 37 shows a scheme Diagram of the QA.

[0063]FIG. 38 shows the structure of a Quantum Gate.

[0064]FIG. 39 shows methods in Quantum Algorithm Gate Design.

[0065]FIG. 40 shows the gate approach for simulation of quantum algorithms using classical computers.

[0066]FIG. 41A shows a vector superposition used in a first step of Grover's algorithm.

[0067]FIG. 41B shows the superposition from FIG. 41A after applying the operator ⁴H.

[0068]FIG. 41C shows the superposition from FIG. 41B after applying the entanglement operator U_(F) with x=001.

[0069]FIG. 41D shows the superposition from FIG. 41C after the application of D_(n)

I.

[0070]FIG. 41E shows the superposition from FIG. 41D after further application of the U_(F) operator.

[0071]FIG. 41F shows the superposition from FIG. 41E after applying D_(n)

I.

[0072]FIG. 42 shows Grover's quantum algorithm simulation (Circuit representation and corresponding gate design).

[0073]FIG. 43 shows preparation of entanglement operators: a) and b) single solution search; c) for two solutions search; d) for three solutions search.

[0074]FIG. 44 shows a quantum gate assembly.

[0075]FIG. 45 shows the first iteration of Grover's algorithm execution.

[0076]FIG. 46 shows results of the Grover's algorithm execution.

[0077]FIG. 47 shows interpretation of Grover' quantum algorithm.

[0078]FIG. 48 shows examples of result interpretation of Grover's quantum algorithm.

[0079]FIG. 49 shows the circuit for Grover's algorithm where: C is the computational register and M is the memory register; U_(B) is the black box query transformation, H is a Hadamard transformation on every qubit of the C register, and f₀ is a phase flip in front of the |00 . . . 0

_(C). FIG. 50 shows the dependence of the mutual information between the M and the C registers as a function of the number of times.

[0080]FIG. 51a shows information analysis of execution dynamics of Grover's QSA.

[0081]FIG. 51b shows entanglement in Grover's quantum algorithm for 10 qubits as a function of number of iterations.

[0082]FIG. 52 shows dependence of the required memory for number of qubit.

[0083]FIG. 53 shows the time required for a fixed number of iterations for a number of qubit for various Intel Pentium III processors.

[0084]FIG. 54 shows the time required for 100 iterations with different internal frequency using an Intel Pentium III CPU.

[0085]FIG. 55 shows the time required for fixed number of iterations regarding to number of qubit for Intel Pentium III processors of different internal frequency.

[0086]FIG. 56 shows the time required for 10 iterations with different internal frequency of Intel Pentium III processor.

[0087]FIG. 57 shows the time required for making one iteration with 11 qubit on PC with 512 MB physical memory.

[0088]FIG. 58 shows CPU time required for making one iteration versus the number of qubits.

[0089]FIG. 59 shows a dynamic iteration process of a fast quantum search algorithm.

[0090]FIG. 60a) shows the steps of the quantum database search algorithm for the simplest case of 4 items, when the first item is desired by the oracle.

[0091]FIG. 60b) shows the effect of the Grover algorithm when N=4 and the solution is j=I.

[0092]FIG. 61 shows the structure of a new quantum oracle algorithm in four-dimensional Hilbert space.

[0093]FIGS. 62a an 62 b show binary search trees for an unsorted database search using truly mixed spin states in spin Liouville space, where the nodes indicate the input states for the binary database search oracle function f.

[0094]FIG. 63 shows general representation of a particular database function f operating on spins I₁, I₂, I₃ as a permutation using ancilla bit I₀ with the output stored on I₀.

[0095]FIG. 64 shows quantum search algorithm in spin Liouville space.

[0096]FIG. 65 shows general representation of a particular database function f operating on spins I₁, I₂, I₃ as a permutation using ancilla bit I₀ with the output stored on I₀. FIG. 66 shows experimental results of NMR based quantum search.

[0097]FIG. 67 shows effects of D operation: (a) States before operation; (b) States after operation.

[0098]FIG. 68 shows finding 1 out of N items. (a) Uniform superposition is prepared initially. Every item has equal amplitude (1/{square root}{square root over (N)}); (b) Oracle U_(f) recognizes and marks the solution item k; (c) Operator D amplifies the amplitude of the marked item and suppresses amplitudes of other items.

[0099]FIG. 69 shows geometric interpretation of the iterative procedure.

[0100]FIG. 70 shows the design process of KB for fuzzy P-controller with QGSA.

[0101]FIG. 71 shows a quantum genetic search algorithm structure.

[0102]FIG. 72 shows a geometrical interpretation of a new quantum oracle.

[0103]FIG. 73 shows a gate structure of a new quantum oracle.

[0104]FIG. 74 shows a gate structure of quantum genetic search algorithm.

[0105] In the drawings, the first digit of any three-digit element reference number generally indicates the number of the figure in which the referenced element first appears. The first two digits of any four-digit element reference number generally indicate the figure in which the referenced element first appears.

DESCRIPTION

[0106]FIG. 1 is a block diagram of a control system 100 for controlling a plant based on soft computing. In the controller 100, a reference signal y is provided to a first input of an adder 105. An output of the adder 105 is an error signal E, which is provided to an input of a Fuzzy Controller (FC) 143 and to (an input of a Proportional-Integral-Differential (PID) controller 150. An output of the PID controller 150 is a control signal u*, which is provided to a control input of a plant 120 and to a first input of an entropy-calculation module 132. A disturbance m(t) 110 is also provided to an input of the plant 120. An output of the plant 120 is a response x, which is provided to a second input the entropy-calculation module 132 and to a second input of the adder 105. The second input of the adder 105 is negated such that the output of the adder 105 (the error signal 6) is the value of the first input minus the value of the second input.

[0107] An output of the entropy-calculation module 132 is provided as a fitness function to a Genetic Analyzer (GA) 131. An output solution from the GA 131 is provided to an input of a FNN 142. An output of the FNN 142 is provided as a knowledge base to the FC 143. An output of the FC 143 is provided as a gain schedule to the PID controller 150.

[0108] The GA 131 and the entropy calculation module 132 are part of a Simulation System of Control Quality (SSCQ) 130. The FNN 142 and the FC 143 are part of a Fuzzy Logic Classifier System (FLCS) 140.

[0109] Using a set of inputs, and the fitness function 132, the genetic algorithm 131 works in a manner similar to a biological evolutionary process to arrive at a solution which is, hopefully, optimal. The genetic algorithm 131 generates sets of “chromosomes” (that is, possible solutions) and then sorts the chromosomes by evaluating each solution using the fitness function 132. The fitness function 132 determines where each solution ranks on a fitness scale. Chromosomes (solutions) which are more fit are those chromosomes which correspond to solutions that rate high on the fitness scale. Chromosomes which are less fit are those chromosomes which correspond to solutions that rate low on the fitness scale.

[0110] Chromosomes that are more fit are kept (survive) and chromosomes that are less fit are discarded (die). New chromosomes are created to replace the discarded chromosomes. The new chromosomes are created by crossing pieces of existing chromosomes and by introducing mutations.

[0111] The PID controller 150 has a linear transfer function and thus is based upon a linearized equation of motion for the controlled “plant” 120. Prior art genetic algorithms used to program PID controllers typically use simple fitness and thus do not solve the problem of poor controllability typically seen in linearization models. As is the case with most optimizers, the success or failure of the optimization often ultimately depends on the selection of the performance (fitness) function.

[0112] Evaluating the motion characteristics of a nonlinear plant is often difficult, in part due to the lack of a general analysis method. Conventionally, when controlling a plant with nonlinear motion characteristics, it is common to find certain equilibrium points of the plant and the motion characteristics of the plant are linearized in a vicinity near an equilibrium point. Control is then based on evaluating the pseudo (linearized) motion characteristics near the equilibrium point. This technique is scarcely, if at all, effective for plants described by models that are unstable or dissipative.

[0113] Computation of optimal control based on soft computing includes the GA 131 as the first step of global search for an optimal solution on a fixed space of positive solutions. The GA searches for a set of control weights for the plant. Firstly the weight vector K={k₁, . . . k_(n)} is used by a conventional proportional-integral-differential (PID) controller 150 in the generation of a signal u*=δ(K) which is applied to the plant. The entropy S(δ(K)) associated to the behavior of the plant 120 on this signal is used as a fitness function by the GA 131 to produce a solution that gives minimum entropy production. The GA 131 is repeated several times at regular time intervals in order to produce a set-of weight vectors K. The vectors K generated by the GA 131 are then provided to the FNN 142 and the output of the FNN 142 to the fuzzy controller 143. The output of the fuzzy controller 143 is a collection of gain schedules for the PID controller 150 that controls the plant. For the soft computing system 100 based on a genetic analyzer, there is very often no real control law in the classical control sense, but rather, control is based on a physical control law such as minimum entropy production.

[0114] In order to realize an intelligent mechatronic suspension control system, the structure depicted on FIG. 1 is modified, as shown on FIG. 2 to produce a system 200 for controlling a plant, such as suspension system. The system 200 is similar to the system 100 with the addition of an information filter 241 and biologically-inspired constraints 233 in the fitness function 132. The information filter 241 is placed between the GA 131 and the FNN 142 such that a solution vector output K_(i) from the GA 131 is provided to an input of the information filter 241. An output of the information filter 241 is a filtered solution vector Kc that is provided to the input of the FNN 142. In FIG. 2, the disturbance 110 is a road signal m(t). (e.g., measured data or data generated via stochastic simulation). In FIG. 2, the plant 120 is a suspension system and car body. The fitness function 132, in addition to entropy production rate, includes biologically-inspired constraints based on mechanical and/or human factors. In one embodiment, the filter 241 includes an information compressor that reduces unnecessary noise in the input signal of the FNN 142. In FIG. 2, the PID controller 150 is shown as a proportional damping force controller.

[0115] As shown in FIG. 3, realization of the structure depicted in FIG. 2 is divided into four development stages. The development stages include a teaching signal acquisition stage 301, a teaching signal compression stage 302, a teaching signal approximation stage 303, and a knowledge base verification stage 304.

[0116] The teaching signal acquisition stage 301 includes the acquisition of a robust teaching signal without the loss of information. In one embodiment, the stage 301 is realized using stochastic simulation of a full car with a Simulation System of Control Quality (SSCQ) under stochastic excitation of a road signal. The stage 301 is based on models of the road, of the car body, and of models of the suspension system. Since the desired suspension system control typically aims for the comfort of a human, it is also useful to develop a representation of human needs, and transfer these representations into the fitness function 132 as constraints 233.

[0117] The output of the stage 301 is a robust teaching signal K₁, which contains information regarding the car behavior and corresponding behavior of the control system.

[0118] Behavior of the control system is obtained from the output of the GA 131, and behavior of the car is a response of the model for this control signal. Since the teaching signal K_(i) is generated by a genetic algorithm, the teaching signal K_(i) typically has some unnecessary stochastic noise in it. The stochastic noise can make it difficult to realize (or develop a good approximation for) the teaching signal K₁. Accordingly, in a second stage 302, the information filter 241 is applied to the teaching signal K₁ to generate a compressed teaching signal K_(c). The information filter 241 is based on a theorem of Shannon's information theory (the theorem of data compression). The information filter 241 reduces the content of the teaching signal by removing that portion of the teaching signal K_(i) that corresponds to unnecessary information. The output of the second stage 302 is a compressed teaching signal K_(c).

[0119] The third stage 303 includes approximation of the compressed teaching signal K_(c) by building a fuzzy inference system using a fuzzy logic classifier (FLC) based on a Fuzzy Neural Network (FNN). Information of car behavior can be used for training an input part of the FNN, and corresponding information of controller behavior can be used for output-part training of the FNN.

[0120] The output of the third stage 303 is a knowledge base (KB) for the FC 143 obtained in such a way that it has the knowledge of car behavior and knowledge of the corresponding controller behavior with the control quality introduced as a fitness function in the first stage 301 of development. The KB is a data file containing control laws of the parameters of the fuzzy controller, such as type of membership functions, number of inputs, outputs, rule base, etc.

[0121] In the fourth stage 304, the KB can be verified in simulations and in experiments with a real car, and it is possible to check its performance by measuring parameters that have been optimized.

[0122] To summarize, the development of the KB for an intelligent control suspension system includes:

[0123] I. Obtaining a stochastic model of the road or roads.

[0124] II. Obtaining a realistic model of a car and its suspension system.

[0125] III. Development of a Simulation System of Control Quality with the car model for genetic algorithm fitness function calculation, and introduction of human needs in the fitness function.

[0126] IV. Development of the information compressor (information filter).

[0127] V. Approximation of the teaching signal with a fuzzy logic classifier system (FLCS) and obtaining the KB for the FC

[0128] VI. Verification of the KB in experiment and/or in simulations of the full car model with fuzzy control

[0129] I. Obtaining Stochastic Models of the Roads

[0130] It is convenient to consider different types of roads as stochastic processes with different auto-correlation functions and probability density functions. FIG. 4 shows twelve typical road profiles. Each profile shows distance along the road (on the x-axis), and altitude of the road (on the y-axis) with respect to a reference altitude. FIG. 5 shows a normalized auto-correlation function for different velocities of motion along the road number 9 (from FIG. 4). In FIG. 5, a curve 501 and a curve 502 show the normalized auto-correlation function for a velocity

=1 meter/sec, a curve 503 shows the normalized auto-correlation function for

=5 meter/sec, and a curve 504 shows the normalized auto-correlation function for

=10 meter/sec.

[0131] The results of statistical analysis of actual roads, as shown in FIG. 4, show that it is useful to consider the road signals as stochastic processes using the following three typical auto-correlation functions.

R(τ)=B(0)exp{−a₁

|τ|};  (1.1)

R(τ)=B(0)exp{−α,

|τ|}cos β₁

τ;  (1.2) $\begin{matrix} {{{R(\tau)} = {{B(0)}\exp {\left\{ \left. {{- \alpha_{1}}\vartheta} \middle| \tau \right| \right\} \left\lbrack {{\cos \quad \beta_{1}{\vartheta\tau}} + {\frac{\alpha_{1}}{\beta_{1}}{\sin \left( \left. {\beta_{1}\vartheta} \middle| \tau \right| \right)}}} \right\rbrack}}},} & (1.3) \end{matrix}$

[0132] where α₁ and β₁ are the values of coefficients for single velocity of motion. The ranges of values of these coefficients are obtained from experimental data as:

[0133] α₁=0.014 to 0.111; β₁=0.025 to 0.140.

[0134] For convenience, the roads are divided into three classes: A. {square root}{square root over (B(0))} ≦ 10 sm—small obstacles; B. {square root}{square root over (B(0))} = 10 sm to 20 sm—medium obstacles; C. {square root}{square root over (B(0))} > 20 sm—large obstacles.

[0135] The presented auto-correlation functions and its parameters are used for stochastic simulations of different types of roads using forming filters. The methodology of forming filter structure can be described according to the first type of auto-correlation functions (1.1) with different probability density functions.

[0136] Consider a stationary stochastic process X(t) defined on the interval [x_(l), x_(r)], which can be either bounded or unbounded. Without loss of generality, assume that X(t) has a zero mean. Then x_(l)<0 and x_(r)>0. With the knowledge of the probability density p(x) and the spectral density Φ_(xx)(ω) of X(t), one can establish a procedure to model the process X(t).

[0137] Let the spectral density be of the following low-pass type: $\begin{matrix} {{{\Phi_{XX}(\omega)} = \frac{\alpha \quad \sigma^{2}}{\pi \left( {\omega^{2} + \alpha^{2}} \right)}},{\alpha > 0},} & (2.1) \end{matrix}$

[0138] where σ² is the mean-square value of X(t). If X(t) is also a diffusive Markov process, then it is governed by the following stochastic differential equation in the Ito sense:

dX=−αXdt+D(X)dB(t),  (2.2)

[0139] where α is the same parameter in (2.1), B(t) is a unit Wiener process, and the coefficients −αX and D(X) are known as drift and the diffusion coefficients, respectively. To demonstrate that this is the case, multiply (2.2) by X(t−τ) and take the ensemble average to yield $\begin{matrix} {{\frac{{R(\tau)}}{\tau} = {{- \alpha}\quad {R(\tau)}}},} & (2.3) \end{matrix}$

[0140] where R(τ) is the correlation function of X(t), namely, R(τ)=E [X(t−τ)X(t)]. Equation (2.3) has a solution

R(τ)=Aexp(−α|τ|)  (2.4)

[0141] in which A is arbitrary. By choosing A=σ², equations (2.1) and (2.4) become a Fourier transform pair. Thus equation (2.2) generates a process X(t) with a spectral density (2.1). Note that the diffusion coefficient D(X) has no influence on the spectral density.

[0142] Now it is useful to determine D(X) so that X(t) possesses a given stationary probability density p(x). The Fokker-Planck equation, governing the probability density p(x) of X(t) in the stationary state, is obtained from equation (2.2) as follows: $\begin{matrix} {{{\frac{\quad}{x}G} = {{\frac{\quad}{x}\left\{ {{\alpha \quad {{xp}(x)}} + {\frac{1}{2}{\frac{\quad}{x}\left\lbrack {{D^{2}(x)}{p(x)}} \right\rbrack}}} \right\}} = 0}},} & (2.5) \end{matrix}$

[0143] where G is known as the probability flow. Since X(t) is defined on [x₁, x_(r)], G must vanish at the two boundaries x=x_(l) and x=x_(r). In the present one-dimensional case, G must vanish everywhere; consequently, equation (2.5) reduces to $\begin{matrix} {{{\alpha \quad {{xp}(x)}} + {\frac{1}{2}{\frac{\quad}{x}\left\lbrack {{D^{2}(x)}{p(x)}} \right\rbrack}}} = 0.} & (2.6) \end{matrix}$

[0144] Integration of equation (2.6) results in $\begin{matrix} {{{{D^{2}(x)}{p(x)}} = {{{- 2}\alpha \quad {\int_{x_{l}}^{x_{r}}{{{up}(u)}{u}}}} + C}},} & (2.7) \end{matrix}$

[0145] where C is an integration constant. To determine the integration constant C, two cases are considered. For the first case, if x_(l)=−∞, or x_(r)=∞, or both, then p(x) must vanish at the infinite boundary; thus C=0 from equation (2.7). For the second case, if both x_(l) and x_(r) are finite, then the drift coefficient −αx_(l) at the left boundary is positive, and the drift coefficient −αx_(r) at the right boundary is negative, indicating that the average probability flows at the two boundaries are directed inward. However, the existence of a stationary probability density implies that all sample functions must remain within [x_(l), x_(r)], which requires additionally that the drift coefficient vanish at the two boundaries, namely, D² (x_(l))=D² (x_(r))=0. This is satisfied only if C=0. In either case, $\begin{matrix} {{D^{2}(x)} = {{- \frac{2\alpha}{p(x)}}{\int_{x_{l}}^{x_{r}}{{{up}(u)}{{u}.}}}}} & (2.8) \end{matrix}$

[0146] Function D² (x), computed from equation (2.8), is non-negative, as it should be, since p(x)≧0 and the mean value of X(t) is zero. Thus the stochastic process X(t) generated from (2.2) with D(x) given by (2.8) possesses a given stationary probability density p(x) and the spectral density (2.1).

[0147] The Ito type stochastic differential equation (2.2) may be converted to that of the Stratonovich type as follows: $\begin{matrix} {{\overset{.}{X} = {{{- \alpha}\quad X} - {\frac{1}{4}\frac{\quad {D^{2}(X)}}{X}} + {\frac{D(X)}{\sqrt{2\pi}}\xi \quad (t)}}},} & (2.9) \end{matrix}$

[0148] where ξ(t) is a Gaussian white noise with a unit spectral density. Equation (2.9) is better suited for simulating sample functions. Some illustrative examples are given below.

EXAMPLE 1

[0149] Assume that X(t) is uniformly distributed, namely $\begin{matrix} {{{p(x)} = \frac{1}{2\Delta}},{{- \Delta} \leq x \leq {\Delta.}}} & (2.10) \end{matrix}$

[0150] Substituting (2.10) into (2.8)

D ² (x)=α(Δ² −x ²).  (2.11)

[0151] In this case, the desired Ito equation is given by

dX=−αXdt+{square root}{square root over (α(Δ²−X²))}dB(t).  (2.12)

[0152] It is of interest to note that a family of stochastic processes can be obtained from the following generalized version of (2.12):

dX=−αXdt+{square root}{square root over (αβ(Δ² −X ²))}dB(t).  (2.13)

[0153] Their appearances are strikingly diverse, yet they share the same spectral density (2.1).

EXAMPLE 2

[0154] Let X(t) be governed by a Rayleigh distribution

p(x)=γ² xexp(−γx),γ>0,0≦x<∞.  (2.14)

[0155] Its centralized version Y(t)=X(t)−2/γ has a probability density

p(y)=γ(γy+2)exp(−γy+2),−2/γ≦y<∞.  (2.15)

[0156] From equation (2.8), $\begin{matrix} {{D^{2}(y)} = {\frac{2\alpha}{\gamma}{\left( {y + \frac{2}{\gamma}} \right).}}} & (2.16) \end{matrix}$

[0157] The Ito equation for Y(t) is $\begin{matrix} {{dY} = {{{- \alpha}\quad {Ydt}} + {\left\lbrack {\frac{2\alpha}{\gamma}\left( {Y + \frac{2}{\gamma}} \right)} \right\rbrack^{1/2}d\quad {B(t)}}}} & (2.17) \end{matrix}$

[0158] and the correspondence equation for X(t) in the Stratonovich form is $\begin{matrix} {\overset{.}{X} = {{{- \alpha}\quad X} + \frac{3\alpha}{2\gamma} + {\left( {\frac{\alpha}{\pi \quad \gamma}X} \right)^{1/2}{{\xi (t)}.}}}} & (2.18) \end{matrix}$

[0159] Note that the spectral density of X(t) contains a delta function (4/γ²)δ(ω) due to the nonzero mean 2/γ.

EXAMPLE 3

[0160] Consider a family of probability densities, which obeys an equation of the form $\begin{matrix} {{\frac{\quad}{x}{p(x)}} = {{J(x)}{{p(x)}.}}} & (2.19) \end{matrix}$

[0161] Equation (2.19) can be integrated to yield

p(x)=C ₁ exp(∫J(x)dx)  (2.20)

[0162] where C₁ is a normalization constant. In this case

D ²(x)=−2αexp[−J(x)]∫xexp[J(x)]dx.  (2.21)

[0163] Several special cases may be noted. Let

J(x)=−x ² −δx ⁴ ,−∞<x<∞  (2.22)

[0164] where γ can be arbitrary if δ>0. Substitution of equation (2.22) into equation (2.8) leads to $\begin{matrix} {{{D^{2}(x)} = {\frac{\alpha}{2}\sqrt{\pi/\delta}\quad {\exp \left\lbrack {\delta \left( {x^{2} + \frac{\gamma}{2\quad \delta}} \right)}^{2} \right\rbrack}{{erfc}\left\lbrack {\sqrt{\delta}\left( {x^{2} + \frac{\gamma}{2\delta}} \right)} \right\rbrack}}},} & (2.23) \end{matrix}$

[0165] where erfc(y) is the complementary error function defined as $\begin{matrix} {{{erfc}(y)} = {\frac{2}{\sqrt{\pi}}{\int_{y}^{\infty}{^{- t^{2}}{{t}.}}}}} & (2.24) \end{matrix}$

[0166] The case of γ<0 and δ>0 corresponds to a bimodal distribution, and the case of γ>0 and δ=0 corresponds to a Gaussian distribution.

[0167] The Pearson family of probability distributions corresponds to $\begin{matrix} {{J(x)} = \frac{{a_{1}x} + a_{0}}{{b_{2}x^{2}} + {b_{1}x} + b_{0}}} & (2.25) \end{matrix}$

[0168] In the special case of a₀+b₁=0, $\begin{matrix} {{D^{2}(x)} = {{- \frac{2\alpha}{a_{1} + b_{2}}}{\left( {{b_{2}x^{2}} + {b_{1}x} + b_{0}} \right).}}} & (2.26) \end{matrix}$

[0169] From the results of statistical analysis of forming filters with auto-correlation function (1.1) one can describe typical structure of forming filters as in Table 2.1: TABLE 2.1 The Structures of Forming Filters for Typical Probability Density Functions p(x) Auto-correlation Probability density function function Forming filter structure R_(y)(τ) = σ²e^(−ατ|)

Gaussian ${\overset{.}{y} + {\alpha y}} = {\sigma^{2}{\xi (t)}}$

R_(y)(τ) = σ²e^(−ατ|)

Uniform ${\overset{.}{y} + {\frac{\alpha}{2}y}} = {\frac{\sigma^{2}}{\sqrt{2\pi}}\sqrt{\alpha \left( {\Delta^{2} - y^{2}} \right)}{\xi (t)}}$

R_(y)(τ) = σ²e^(−ατ|)

Rayleigh ${\overset{.}{y} + {{\alpha y} \pm \frac{2\alpha}{\gamma}}} = {\frac{\sigma^{2}}{\sqrt{2\pi}}\sqrt{\frac{2\alpha}{\gamma}\left( {y + \frac{2}{\gamma}} \right)}{\xi (t)}}$

R_(y)(τ) = σ²e^(−ατ|)

Pearson ${\overset{.}{y} + {\alpha y} + {\frac{\alpha}{a_{1} + {2b_{2}}}\left( {{b_{2}x} + b_{1}} \right)}} = {\frac{\sigma^{2}}{\sqrt{2\pi}}\sqrt{\frac{2\alpha}{a_{1} + {2b_{2}}}\left( {{b_{2}y^{2}} + {b_{1}y} + b_{0}} \right)}{\xi (t)}}$

[0170] The structure of a forming filter with an auto-correlation function given by equations (1.2) and (1.3) is derived as follows. A two-dimensional (2D) system is used to generate a narrow-band stochastic process with the spectrum peak located at a nonzero frequency. The following pair of Ito equations describes a large class of 2D systems:

dx ₁=(a ₁₁ x ₁ +a ₁₂ x ₂)dt+D₁(x ₁ , x ₂)dB₁(t), dx ₂=(a ₂₁ x ₁ +a ₂₂ x ₂)dt+D ₂(x ₁ , x ₂)dB₂(t), (3.1)

[0171] where B_(i), i=1, 2 are two independent unit Wiener processes.

[0172] For a system to be stable and to possess a stationary probability density, is required that a₁₁<0, a₂₂<0 and a₁₁a₂₂−a₁₂a₂₁>0. Multiplying (3.1) by x₁(t−τ) and taking the ensemble average, gives $\begin{matrix} {{{\frac{\quad}{\tau}{R_{11}(\tau)}} = {{a_{11}{R_{11}(\tau)}} + {a_{12}{R_{12}(\tau)}}}}{{\frac{\quad}{\tau}{R_{12}(\tau)}} = {{a_{21}{R_{11}(\tau)}} + {a_{22}{R_{12}(\tau)}}}}} & (3.2) \end{matrix}$

[0173] where R₁₁(τ)=M [x₁(t−τ)x₁(t)], R,₁₂ (τ)=M[x₁(t−τ)x₂ (t)] with initial conditions R₁₁(0)=m₁₁=M[x₁ ²], R₁₂(0)=m₁₂=M[x₁x₂].

[0174] Differential equations (3.2) in the time domain can be transformed (using the Fourier transform) into algebraic equations in the frequency domain as follows $\begin{matrix} {{{{{\omega}\quad {\overset{\_}{R}}_{11}} - \frac{m_{11}}{\pi}} = {{a_{11}{\overset{\_}{R}}_{11}} + {a_{12}{\overset{\_}{R}}_{12}}}}{{{{\quad \omega {\overset{\_}{R}}_{12}} - \frac{m_{12}}{\pi}} = {{a_{21}{\overset{\_}{R}}_{11}} + {a_{22}{\overset{\_}{R}}_{12}}}},}} & (3.3) \end{matrix}$

[0175] where {overscore (R)}_(ij)(ω)) define the following integral Fourier transformation: ${{\overset{\_}{R}}_{ij}(\omega)} = {{\Theta \left\lbrack {{\overset{\_}{R}}_{ij}(\tau)} \right\rbrack} = {\frac{1}{\pi}{\int_{0}^{\infty}{{R_{ij}(\tau)}^{- {\omega\tau}}{{\tau}.}}}}}$

[0176] Then the spectral density S₁₁(ω) of x₁(t) can be obtained as $\begin{matrix} {{{S_{11}(\omega)} = {{\frac{1}{2\quad \pi}{\int_{- \infty}^{\infty}{{R_{11}(\tau)}^{{- }\quad \omega \quad \tau}\quad {\tau}}}} = {{Re}\left\lbrack {{\overset{\_}{R}}_{11}(\omega)} \right\rbrack}}},} & (3.4) \end{matrix}$

[0177] where Re denotes the real part.

[0178] Since R_(y)(τ)→0 as τ→∞, it can be shown that ${\Theta \left( \frac{{R_{i\quad j}(\tau)}}{\tau} \right)} = {{\quad \omega \quad {{\overset{\_}{R}}_{i\quad j}(\omega)}} - {\frac{1}{\pi}{R_{i\quad j}(0)}}}$

[0179] and equation (3.3) is obtained using this relation.

[0180] Solving equation (3.3) for {overscore (R)}_(y)(ω) and taking its real part, gives $\begin{matrix} {{{S_{11}(\omega)} = \frac{{{- \left( {{a_{11}m_{11}} + {a_{12}m_{12}}} \right)}\omega^{2}} + {A_{2}\left( {{a_{12}m_{12}} - {a_{22}m_{11}}} \right)}}{\pi \left\lbrack {\omega^{4} + {\left( {A_{1}^{2} - {2A_{2}}} \right)\omega^{2}} + A_{2}^{2}} \right\rbrack}},} & (3.5) \end{matrix}$

[0181] where A₁=a₁₁+a₂₂, and A₂=a₁₁a₂₂−a₁₂a₂₁.

[0182] Expression (3.5) is the general expression for a narrow-band spectral density. The constants a_(ij), i, j=1, 2, can be adjusted to obtain a best fit for a target spectrum. The task is to determine non-negative functions D₁ ²(x₁, x₂) and D₂ ² (x₁, x₂) for a given p(x₁, x₂).

[0183] Forming filters for simulation of non-Gaussian stochastic processes can be derived as follows. The Fokker-Planck-Kolmogorov (FPK) equation for the joint density p(x₁, x₂)of x₁(t) and x₂(t) in the stationary state is given as ${{\frac{\partial}{x_{1}}\left( {{\left( {{a_{11}x_{1}} + {a_{12}x_{2}}} \right)p} - {\frac{1}{2}{\frac{\partial}{\quad x_{1}}\left\lbrack {{D_{1}^{2}\left( {x_{1},x_{2}} \right)}p} \right\rbrack}}} \right)} + {\frac{\partial}{x_{2}}\left( {{\left( {{a_{21}x_{1}} + {a_{22}x_{2}}} \right)p} - {\frac{1}{2}{\frac{\partial}{\quad x_{2}}\left\lbrack {{D_{2}^{2}\left( {x_{1},x_{2}} \right)}p} \right\rbrack}}} \right)}} = 0$

[0184] If such D₁ ² (x₁, x₂) and D₂ ²(x₁, x₂) functions can be found, then the equations of forming filters for the simulation in the Stratonovich form are given by $\begin{matrix} \begin{matrix} {{{\overset{.}{x}}_{1} = {{a_{11}x_{1}} + {a_{12}x_{2}} - {\frac{1}{4}\frac{\partial}{\quad x_{1}}{D_{1}^{2}\left( {x_{1},x_{2}} \right)}} + {\frac{D_{1}\left( {x_{1},x_{2}} \right)}{\sqrt{2\quad \pi}}{\xi_{1}(t)}}}},} \\ {{{\overset{.}{x}}_{2} = {{a_{21}x_{1}} + {a_{22}x_{2}} - {\frac{1}{4}\frac{\partial}{\quad x_{2}}{D_{2}^{2}\left( {x_{1},x_{2}} \right)}} + {\frac{D_{2}\left( {x_{1},x_{2}} \right)}{\sqrt{2\quad \pi}}{\xi_{2}(t)}}}},} \end{matrix} & (3.6) \end{matrix}$

[0185] where ξ_(i)(t), i 1, 2, are two independent unit Gaussian white noises.

[0186] Filters (3.1) and (3.6) are non-linear filters for simulation of non-Gaussian random processes. Two typical examples are provided. CL EXAMPLE 1

[0187] Consider two independent uniformly distributed stochastic process x₁ and x₂, namely, ${{p\left( {x_{1},x_{2}} \right)} = \frac{1}{4\quad \Delta_{1}\Delta_{2}}},$

[0188] −Δ₁≦x₁≦Δ₁, −Δ₂≦x₂≦Δ₂.

[0189] In this case, from the FPK equation, one obtains ${{a_{11} - {\frac{1}{2}\frac{\partial^{2}}{x_{1}^{2}\quad}D_{1}^{2}} + a_{22} - {\frac{1}{2}\frac{\partial^{2}}{x_{2}^{2}\quad}D_{2}^{2}}} = 0},$

[0190] which is satisfied if

[0191] D₁ ²=−a₁₁(Δ₁−x₁ ²), D₂ ²=−₂₂(Δ₂−x₂ ²)

[0192] The two non-linear equations in (3.6) are now $\begin{matrix} \begin{matrix} {{\overset{.}{x}}_{1} = {{\frac{1}{2}a_{11}x_{1}} + {a_{12}x_{2}} + {\sqrt{{- \frac{a_{11}}{2\quad \pi}}\left( {\Delta_{1} - x_{1}^{2}} \right)}{\xi_{1}(t)}}}} \\ {{{\overset{.}{x}}_{1} = {{\frac{1}{2}a_{21}x_{1}} + {a_{22}x_{2}} + {\sqrt{{- \frac{a_{22}}{2\quad \pi}}\left( {\Delta_{2} - x_{2}^{2}} \right)}{\xi_{2}(t)}}}},} \end{matrix} & (3.7) \end{matrix}$

[0193] which generate a uniformly distributed stochastic process x, (t) with a spectral density given by (3.5).

Example 2

[0194] Consider a joint stationary probability density of x₁(t) and x₂(t) in the form

[0195] p(x₁, x₂)=ρ(λ)=C₁(λ+b)^(−δ), b>0, δ>1, and $\lambda = {{\frac{1}{2}x_{1}^{2}} - {\frac{a_{12}}{2a_{21}}{x_{2}^{2}.}}}$

[0196] A large class of probability densities can be fitted in this form. In this case $\begin{matrix} {{{D_{1}\left( {x_{1},x_{2}} \right)} = {{- \frac{2a_{11}}{\delta - 1}}\left( {\lambda + b} \right)}},{{D_{2}\left( {x_{1},x_{2}} \right)} = {\frac{2a_{11}a_{12}}{a_{21}\left( {\delta - 1} \right)}\left( {\lambda + b} \right)}}} \\ {{and}\quad} \\ {{p\left( x_{1} \right)} = {C_{1}{\int_{- \infty}^{\infty}{\left( {{\frac{1}{2}x_{1}^{2}} - {\frac{a_{12}}{2a_{21}}u^{2}} + b} \right)^{\delta}\quad {{u}.}}}}} \end{matrix}$

[0197] The forming filter equations (3.6) for this case can be described as following $\begin{matrix} {{{\overset{.}{x}}_{1} = {{a_{11}x_{1}} + {a_{12}x_{2}} - {{\frac{2a_{11}^{2}}{\left( {\delta - 1} \right)^{2}}\left\lbrack {{\frac{1}{2}x_{1}^{2}} - {\frac{a_{12}}{2a_{21}}x_{2}^{2}} + b} \right\rbrack}x_{1}} - {{\frac{2a_{11}}{\sqrt{2\pi}\left( {\delta - 1} \right)} \cdot \cdot \left\lbrack {{\frac{1}{2}x_{1}^{2}} - {\frac{a_{12}}{2a_{21}}x_{2}^{2}} + b} \right\rbrack}{\xi_{1}(t)}}}}{{\overset{.}{x}}_{2} = {{a_{21}x_{1}} + {a_{22}x_{2}} - {{\frac{2a_{22}^{2}a_{12}^{3}}{\left( {\delta - 1} \right)^{2}}\left\lbrack {{\frac{1}{2}x_{1}^{2}} - {\frac{a_{12}}{2a_{21}}x_{2}^{2}} + b} \right\rbrack}x_{2}} - {{\frac{2a_{22}a_{12}}{\sqrt{2\pi}\left( {\delta - 1} \right)} \cdot \cdot \left\lbrack {{\frac{1}{2}x_{1}^{2}} - {\frac{a_{12}}{2a_{21}}x_{2}^{2}} + b} \right\rbrack}{\xi_{2}(t)}}}}} & (3.8) \end{matrix}$

[0198] If σ_(ik)(x, t) are bounded functions and the functions F_(i)(x, t) satisfy the Lipshitz condition ∥F(x′−x)∥≦K∥x′−x∥, K=const>0, then for every smoothly-varying realization of process y(t) the stochastic equations can be solved by the method of successive substitution which is convergent and defines smoothly-varying trajectories x(t). Thus, Markovian process x(t) has smoothly trajectories with the probability 1. This result can be used as a background in numerical stochastic simulation.

[0199] The stochastic differential equation for the variable x_(i) is given by $\begin{matrix} {{\frac{x_{i}}{t} = {{F_{i}(x)} + {{G_{i}(x)}{\xi_{i}(t)}}}},{i = 1},2,\ldots \quad,N,{x = {\left( {x_{1},x_{2},\ldots \quad,x_{N}} \right).}}} & (4.1) \end{matrix}$

[0200] These equations can be integrated using two different algorithms: Milshtein; and Heun methods. In the Milshtein method, the solution of stochastic differential equation (4.1) is computed by the means of the following recursive relations: $\begin{matrix} {{{x_{i}\left( {t + {\delta \quad t}} \right)} = {{\left\lbrack {{F_{i}\left( {x(t)} \right)} + {\frac{\sigma^{2}}{2}{G_{i}\left( {x(t)} \right)}\frac{{G_{i}\left( {x(t)} \right)}}{x_{i}}}} \right\rbrack \delta \quad t} + {{G_{i}\left( {x(t)} \right)}\sqrt{\sigma^{2}\delta \quad t}{\eta_{i}(t)}}}},} & (4.2) \end{matrix}$

[0201] where η_(i)(t) are independent Gaussian random variables and the variance is equal tol.

[0202] The second term in equation (4.2) is included because equation (4.2) is interpreted in the Stratonovich sense. The order of numerical error in the Milshtein method is δt. Therefore, small δt (i.e., (δt=1×10⁻⁴ for σ²=1) is be used, while its computational effort per time step is relatively small. For large σ, where fluctuations are rapid and large, a longer integration period and small δt is used. The Milshtein method quickly becomes impractical.

[0203] The Heun method is based on the second-order Runge-Kutta method, and integrates the stochastic equation by using the following recursive equation: $\begin{matrix} {{{x_{i}\left( {t + {\delta \quad t}} \right)} = {{x_{i}(t)} + {\frac{\delta \quad t}{2}\left\lbrack {{F_{i}\left( {x(t)} \right)} + {F_{i}\left( {y(t)} \right)}} \right\rbrack} + {\frac{\sqrt{\sigma^{2}\delta \quad t}}{2}{{\eta_{i}(t)}\left\lbrack {{G_{i}\left( {x(t)} \right)} + {G_{i}\left( {y(t)} \right)}} \right\rbrack}}}},} & (4.3) \end{matrix}$

[0204] where

[0205] y₁(t)=x_(i)(t)+F(x_(i)(t))δt+G(x_(i)(t)){square root}{square root over (σ²δt)}η_(i)(t).

[0206] The Heun method accepts larger δt than the Milshtein method without a significant increase in computational effort per step. The Heun method is usually used for σ²>2.

[0207] The time step δt can be chosen by using a stability condition, and so that averaged magnitudes do not depend on δt within statistical errors. For example, δt=5×10⁻⁴ for σ²=1 land δt=1×10⁻⁵ for σ²⁼¹⁵. The Gaussian random numbers for the simulation were generated by using the Box-Muller-Wiener algorithms or a fast numerical inversion method.

[0208] Table 3.1 summarizes the stochastic simulation of typical road signals. TABLE 3.1 Types of Results of Correlation Type of Probabilty Stochastic Function Density Function Forming Filter Equations Simulations 1D Gaussian R(τ) = σ²e^(−ατ|)

${p(y)} = {\frac{1}{\sigma \sqrt{2\pi}}e^{{- \frac{1}{2}}{(\frac{y - \mu}{\sigma})}}}$

${\overset{.}{y} + {\alpha y}} = {\sigma^{2}{\xi (t)}}$

1D Uniform ${p(y)} = \left\{ \begin{matrix} {0,} & {y \notin \left\lbrack {y_{0} -} \right.} \\ {\frac{1}{2\Delta},} & {y \in \left\lbrack {y_{0} -} \right.} \end{matrix}\quad \right.$

${\overset{.}{y} + {\frac{\alpha}{2}y}} = {\frac{\sigma^{2}}{\sqrt{2\pi}}\sqrt{\alpha \left( {\Delta^{2} - y^{2}} \right)}{\xi (t)}}$

1D Rayleigh ${p(y)} = {\begin{matrix} y \\ \mu^{2} \end{matrix}e^{- {(\frac{y^{2}}{2\mu^{2}})}}}$

${\overset{.}{y} + {\frac{\alpha}{2}y} + \frac{2\alpha}{\mu}} = {\frac{\sigma^{2}}{\sqrt{2\pi}}\sqrt{\frac{2\alpha}{\mu}\left( {y + \frac{2}{\mu}} \right)}{\xi (t)}}$

2D Gaussian ${R(\tau)} = {\sigma^{2}{e^{{- {\alpha\tau}}|}\left( {{\cos \quad \omega \quad \tau} + {\frac{\alpha}{\omega}\sin {\tau }}} \right)}}$

${p\left( {y_{1},y_{2}} \right)} = {\begin{matrix} 1 \\ {2{\pi\sigma}_{1}\sigma_{2}} \end{matrix}e^{{- \frac{1}{2}}{({{(\frac{y_{1} - \mu_{1}}{\sigma_{1}})}^{2} + {(\frac{y_{2} -}{\sigma}}}}}}$

${\overset{¨}{y} + {2\alpha \quad \overset{.}{y}} + {\left( {\alpha^{2} + \omega^{2}} \right)y}} = {\sqrt{2{{\alpha\sigma}^{2}\left( {\alpha^{2} + \omega^{2}} \right)}}{\xi (t)}}$

2D Uniform $\begin{matrix} {{p\left( {y_{1},y_{2}} \right)} = {{\begin{matrix} 1 \\ {4\Delta_{1}\Delta_{2}} \end{matrix} - \Delta_{1}} < y_{1} < {\Delta_{1} -}}} \\ {{\Delta_{2} < y_{2} < \Delta_{2}}} \end{matrix}\quad$

$\begin{matrix} {{\overset{.}{y}}_{1} = {{\frac{1}{2}a_{11}y_{1}} + {a_{12}y_{2}} + {\sqrt{\left( {{- \frac{a_{11}}{2\pi}}\left( {\Delta_{1} - y_{1}^{2}} \right)} \right)}{\xi_{1}(t)}}}} \\ {{\overset{.}{y}}_{2} = {{\frac{1}{2}a_{22}y_{2}} + {a_{21}y_{1}} + {\sqrt{\left( {{- \frac{a_{22}}{2\pi}}\left( {\Delta_{2} - y_{2}^{2}} \right)} \right)}{\xi_{2}(t)}}}} \end{matrix}\quad$

2D Hyperbolic $\begin{matrix} {{p\left( {y_{1},y_{2}} \right)} =} \\ {{\rho (\lambda)} = {C_{1}\left( {\lambda + b} \right)}^{- \delta}} \\ {{b > 0};{\delta > 1}} \\ {\lambda = {{\frac{1}{2}y_{1}^{2}} - {\frac{a_{12}}{2a_{21}}y_{2}^{2}}}} \end{matrix}\quad$

$\begin{matrix} {y_{1} = {{a_{11}y_{1}} + {a_{12}y_{2}} - {{\frac{2a_{11}^{2}}{\left( {\delta - 1} \right)^{2}}\left\lbrack {{\frac{1}{2}y_{1}^{2}} - {\frac{a_{12}}{2a_{21}}y_{2}^{2}} + b} \right\rbrack}y_{1}} -}} \\ {{{\frac{2a_{11}}{\sqrt{2\pi}\left( {\delta - 1} \right)}\left\lbrack {{\frac{1}{2}y_{1}^{2}} - {\frac{a_{12}}{2a_{21}}y_{2}^{2}} + b} \right\rbrack}{\xi_{1}(t)}}} \\ {{\overset{.}{y}}_{2} = {{a_{21}y_{1}} + {a_{22}y_{2}} + {{\frac{2a_{22}^{2}a_{12}^{3}}{{a_{21}^{3}\left( {\delta - 1} \right)}^{2}}\left\lbrack {{\frac{1}{2}y_{1}^{2}} - {\frac{a_{12}}{2a_{21}}y_{2}^{2}} + b} \right\rbrack}y_{2}} +}} \\ {{{\frac{2a_{22}a_{12}}{\sqrt{2\pi}{a_{21}\left( {\delta - 1} \right)}}\left\lbrack {{\frac{1}{2}y_{1}^{2}} - {\frac{a_{12}}{2a_{21}}y_{2}^{2}} + b} \right\rbrack}{\xi_{2}(t)}}} \end{matrix}\quad$

FIG. 6F

[0209]FIG. 7 shows a vehicle body 710 with coordinates for describing position of the body 710 with respect to wheels 701-704 and suspension system. A global reference coordinate x_(r), y_(r), z_(r) is assumed to be at the geometric center P_(r) of the vehicle body 710. The following are the transformation matrices to describe the local coordinates for the suspension and its components:

[0210] {2} is a local coordinate in which an origin is the center of gravity of the vehicle body 710;

[0211] {7} is a local coordinate in which an origin is the center of gravity of the suspension;

[0212] {10 n} is a local coordinate in which an origin is the center of gravity of the n'th arm;

[0213] {12 n} is a local coordinate in which an origin is the center of gravity of the n'th wheel;

[0214] {13 n} is a local coordinate in which an origin is a contact point of the n'th wheel relative to the road surface; and

[0215] {14} is a local coordinate in which an origin is a connection point of the stabilizer.

[0216] Expressions for the entropy production of the suspension system shown in FIG. 7 are developed in U.S. application Ser. No. 09/176,987 hereby incorporated by reference in its entirety.

[0217]FIG. 8 shows the vehicle body 710 and the wheels 702 and 704 (the wheels 701 and 703 are hidden). FIG. 8 also shows dampers 801-804 configured to provide adjustable damping for the wheels 701-704 respectively. In one embodiment, the dampers 801-804 are electronically-controlled dampers. In one embodiment, a stepping motor actuator on each damper controls an oil valve. Oil flow in each rotary valve position determines the damping factor provided by the damper.

[0218]FIG. 9 shows damper force characteristics as damper force versus piston speed characteristics when the rotary valve is placed in a hard damping position and in a soft damping position. The valve is controlled by the stepping motor to be placed between the soft and the hard damping positions to generate intermediate damping force.

[0219] The SSCQ 130, shown in FIG. 2, is an off-line block that produces the teaching signal Ki for the FLCS 140. FIG. 10 shows the structure of an SSCQ 1030 for use in connection with a simulation model of the full car and suspension system. The SSCQ 1030 is one embodiment of the SSCQ 130. In addition to the SSCQ 1030, FIG. 10 also shows a stochastic road signal generator 1010, a suspension system simulation model 1020, a proportional damping force controller 1050, and a timer 1021. The SSCQ 1030 includes a mode selector 1029, an output buffer 1001, a GA 1031, a buffer 1022, a proportional damping force controller 1034, a fitness function calculator 1032, and an evaluation model 1036.

[0220] The Timer 1021 controls the activation moments of the SSCQ 1030. An output of the timer 1021 is provided to an input of the mode selector 1029. The mode selector 1029 controls operational modes of the SSCQ 1030. In the SSCQ 1030, a reference signal y is provided to a first input of the fitness function calculator 1032. An output of the fitness function calculator 1032 is provided to an input of the GA 1031. A CGS^(e) output of the GA 1031 is provided to a training input of the damping force controller 1034 through the buffer 1022. An output U^(e) of the damping force controller 1034 is provided to an input of the evaluation model 1036. An X^(e) output of the evaluation model 1036 is provided to a second input of the fitness function calculator 1032. A CGS^(i) output of the GA 1031 is provided (through the buffer 1001) to a training input of the damping force controller 1050. A control output from the damping force controller 1050 is provided to a control input of the suspension system simulation model 1020. The stochastic road signal generator 1010 provides a stochastic road signal to a disturbance input of the suspension system simulation model 1020 and to a disturbance input of the evaluation model 1036. A response output X^(i) from the suspension system simulation model 1020 is provided to a training input of the evaluation model 1036. The output vector K^(i) from the SSCQ 1030 is obtained by combining the CGS¹ output from the GA 1031 (through the buffer 1001) and the response signal X¹ from the suspension system simulation model 1020.

[0221] Road signal generator 1010 generates a road profile. The road profile can be generated from stochastic simulations as described above in connection with FIGS. 4-6F, or the road profile can be generated from measured road data. The road signal generator 1010 generates a road signal for each time instant (e.g., each clock cycle) generated by the timer 1021.

[0222] The simulation model 1020 is a kinetic model of the full car and suspension system with equations of motion, as obtained, for example, in connection with FIG. 7. In one embodiment, the simulation model 1020 is integrated using high-precision order differential equation solvers.

[0223] The SSCQ 1030 is an optimization module that operates on a discrete time basis. In one embodiment, the sampling time of the SSCQ 1030 is the same as the sampling time of the control system 1050. Entropy production rate is calculated by the evaluation model 1036, and the entropy values are included into the output (X^(e)) of the evaluation model 1036.

[0224] The following designations regarding time moments are used herein: T = Moments of SSCQ calls T_(c) = the sampling time of the control system 1050 T_(e) = the evaluation (observation) time of the SSCQ 1030 t_(c) = the integration interval of the simulation model 1004 with fixed control parameters, t_(c)ε[T;T + T_(c)] t_(e) = Evaluation (Observation) time interval of the SSCQ, t_(e)ε[T;T + T_(e)]

[0225]FIG. 11 is a flowchart showing operation of the SSCQ 1030 as follows:

[0226] 1. At the initial moment (T=0) the SSCQ 1030 is activated and the SSCQ 1030 generates the initial control signal CGS^(i)(T).

[0227] 2. The simulation model 1020 is integrated using the road signal from the stochastic road generator 1010 and the control signal CGS^(i)(T) on a first time interval t_(c) to generate the output X^(i).

[0228] 3. The output X¹ and with the output CGS¹(T) are is saved into the data file 1060 as a teaching signal K^(i).

[0229] 4. The time interval T is incremented by T_(c)(T=T+T_(c)).

[0230] 5. The sequence 1-4 is repeated a desired number of times (that is while T<T_(F)). In one embodiment, the sequence 1-4 is repeated until the end of road signal is reached

[0231] Regarding step 1 above, the SSCQ block has two operating modes:

[0232]1. Updating of the buffer 1001 using the GA 1031

[0233] 2. Extraction of the output CGS¹(T) from the buffer 1001.

[0234] The operating mode of the SSCQ 1030 is controlled by the mode selector 1029 using information regarding the current time moment T, as shown in FIG. 12. At intervals of T_(e) the SSCQ 1030 updates the output buffer 1001 with results from the GA 1031. During the interval T_(e) at each interval T_(c), the SSCQ extracts the vector CGS₁ from the output buffer 1001.

[0235]FIG. 13 is a flowchart 1300 showing operation of the SSCQ 1030 in connection with the GA 1031 to compute the control signal CGS^(i). The flowchart 1300 begins at a decision block 1301, where the operating mode of the SSCQ 1030 is determined. If the operating mode is a GA mode, then the process advances to a step 1302; otherwise, the process advances to a step 1310. In the step 1302, the GA 1031 is initialized, the evaluation model 1036 is initialized, the output buffer 1001 is cleared, and the process advances to a step 1303. In the step 1303, the GA 1031 is started, and the process advances to a step 1304 where an initial population of chromosomes is generated. The process then advances to a step 1305 where a fitness value is assigned to each chromosome. The process of assigning a fitness value to each chromosome is shown in an evaluation function calculation, shown as a sub-flowchart having steps 1322-1325. In the step 1322, the current states of X¹(T) are initialized as initial states of the evaluation model 1036, and the current chromosome is decoded and stored in the evaluation buffer 1022. The sub-process then advances to the step 1323. The step 1323 is provided to integrate the evaluation model 1036 on time interval te using the road signal from the road generator 1010 and the control signal CGS^(e)(t_(e)) from the evaluation buffer 1022. The process then advances to the step 1324 where a fitness value is calculated by the fitness function calculator 1032 by using the output X^(e) from the evaluation model 1036. The output X^(e) is a response from the evaluation model 1036 to the control signals CGS^(e)(t_(e)) which are coded into the current chromosome. The process then advances to the step 1325 where the fitness value is returned to the step 1305. After the step 1305, the process advances to a decision block 1306 to test for termination of the GA. If the GA is not to be terminated, then the process advances to a step 1307 where a new generation of chromosomes is generated, and the process then returns to the step 1305 to evaluate the new generation. If the GA is to be terminated, then the process advances to the step 1309, where the best chromosome of the final generation of the GA, is decoded and stored in the output buffer 1001. After storing the decoded chromosome, the process advances to the step 1310 where the current control value CGS¹(T) is extracted from the output buffer 1001.

[0236] The structure of the output buffer 1001 is shown below as a set of row vectors, where first element of each row is a time value, and the other elements of each row are the control parameters associated with these time values. The values for each row include a damper valve position VP_(FL), VP_(FR), VP_(RL), VP_(RR), corresponding to front-left, front-right, rear-left, and rear-right respectively. Time CGS¹ T VP_(FL)(T) VP_(FR)(T) VP_(RL)(T) VP_(RR)(T) T + VP_(FL)(T + T^(c)) VP_(FR)(T + T^(c)) VP_(RL)(T + T^(c)) VP_(RR)(T + T^(c)) T^(c) . . . . . . . . . . . . . . . T + VP_(FL)(T + T^(e)) VP_(FR)(T + T^(e)) VP_(RL)(T + T^(e)) VP_(RR)(T + T^(e)) T^(e)

[0237] The output buffer 1001 stores optimal control values for evaluation time interval t_(e) from the control simulation model, and the evaluation buffer 1022 stores temporal control values for evaluation on the interval t_(e) for calculation of the fitness function.

[0238] Two similar models are used. The simulation model 1020 is used for simulation and the evaluation model 1036 is used for evaluation. There are many different methods for numerical integration of systems of differential equations. Practically, these methods can be classified into two main classes: (1) variable-step integration methods with control of integration error; and (2) fixed-step integration methods without integration error control.

[0239] Numerical integration using methods of type (1) is very precise, but time-consuming. Methods of type (2) are typically faster, but with smaller precision. During each SSCQ call in the GA mode, the GA 1031 evaluates the fitness function 1032 many times and each fitness function calculation requires integration of the model of dynamic system (the integration is done each time). By choosing a small-enough integration step size, it is possible to adjust a fixed-step solver such that the integration error on a relatively small time interval (like the evaluation interval t_(e)) will be small and it is possible to use the fixed-step integration in the evaluation loop for integration of the evaluation model 1036. In order to reduce total integration error it is possible to use the result of high-order variable-step integration of the simulation model 1020 as initial conditions for evaluation model integration. The use of variable-step solvers to integrate the evaluation model can provide better numerical precision, but at the expense of greater computational overhead and thus longer run times, especially for complicated models.

[0240] The fitness function calculation block 1032 computes a fitness function using the reference signal Y and the response (X^(e)) from the evaluation model 1036 (due to the control signal CGS^(e)(t_(e)) provided to the evaluation module 1036).

[0241] The fitness function 1032 is computed as a vector of selected components of a matrix (x^(e)) and its squared absolute value using the following form: $\begin{matrix} {{{Fitness}^{2} = \left. {\sum\limits_{t \in {\lbrack{T,T^{e}}\rbrack}}^{\quad}\left\lbrack {{\sum\limits_{i}^{\quad}{w_{i}\left( x_{it}^{e} \right)}^{2}} + {\sum\limits_{j}^{\quad}{w_{j}\left( {y_{j} - x_{jt}^{e}} \right)}^{2}} + {\sum\limits_{k}^{\quad}{w_{k}{f\left( x_{kt}^{e} \right)}^{2}}}} \right\rbrack}\rightarrow\min \right.},} & (6.1) \end{matrix}$

[0242] where:

[0243] i denotes indexes of state variables which should be minimized by their absolute value; j denotes indexes of state variables whose control error should be minimized; k denotes indexes of state variables whose frequency components should be minimized; and w_(r), r=i, j, k are weighting factors which represent the importance of the corresponding parameter from the human feelings point of view. By setting these weighting function parameters, it is possible to emphasize those elements from the output of the evaluation model that are correlated with the desired human requirements (e.g., handling, ride quality, etc.). In one embodiment, the weighting factors are initialized using empirical values and then the weighting factors are adjusted using experimental results.

[0244] Extraction of frequency components can be done using standard digital filtering design techniques for obtaining the filter parameters. Digital filtering can be provided by a standard difference equation applied to elements of the matrix X^(e): $\begin{matrix} {{{a(1)}{f\left( {x_{k}^{e}\left( {t^{e}(N)} \right)} \right)}} = {{{b(1)}{x_{k}^{e}\left( {t^{e}(N)} \right)}} + {{b(2)}{x_{k}^{e}\left( {t^{e}\left( {N - 1} \right)} \right)}} + \ldots + {{b\left( {n_{b} + 1} \right)}{{x_{k}^{e}\left( {t^{e}\left( {N - n_{b}} \right)} \right)}--}{a(2)}{x_{k}^{e}\left( {t^{e}\left( {N - 1} \right)} \right)}} - \ldots - {{a\left( {n_{a} + 1} \right)}{x_{k}^{e}\left( {t^{e}\left( {N - n_{a}} \right)} \right)}}}} & (6.2) \end{matrix}$

[0245] where a, b are parameters of the filter, N is the number of the current point, and n_(b), n_(a) describe the order of the filter. In case of a Butterworth filter, n_(b)=n_(a).

[0246] In one embodiment, the GA 1031 is a global search algorithms based on the mechanics of natural genetics and natural selection. In the genetic search, each a design variable is represented by a finite length binary string and then these finite binary strings are connected in a head-to-tail manner to form a single binary string. Possible solutions are coded or represented by a population of binary strings. Genetic transformations analogous to biological reproduction and evolution are subsequently used to improve and vary the coded solutions. Usually, three principle operators, i.e., reproduction (selection), crossover, and mutation, are used in the genetic search.

[0247] The reproduction process biases the search toward producing more fit members in the population and eliminating the less fit ones. Hence, a fitness value is first assigned to each string (chromosome) the population. One simple approach to select members from an initial population to participate in the reproduction is to assign each member a probability of selection on the basis of its fitness value. A new population pool of the same size as the original is then created with a higher average fitness value.

[0248] The process of reproduction simply results in more copies of the dominant or fit designs to be present in the population. The crossover process allows for an exchange of design characteristics among members of the population pool with the intent of improving the fitness of the next generation. Crossover is executed by selecting strings of two mating parents, randomly choosing two sites.

[0249] Mutation safeguards the genetic search process from a premature loss of valuable genetic material during reproduction and crossover. The process of mutation is simply to choose few members from the population pool according to the probability of mutation and to switch a 0 to 1 or vice versa at randomly sites on the chromosome.

[0250]FIG. 14 illustrates the processes of reproduction, crossover and mutation on a set of chromosomes in a genetic analyzer. A population of strings is first transformed into decimal codes and then sent into the physical process 1407 for computing the fitness of the strings in the population. A biased roulette wheel 1402, where each string has a roulette wheel slot sized in proportion to its fitness is created. A spinning of the weighted roulette wheel yields the reproduction candidate. In this way, a higher fitness of strings has a higher number of offspring in the succeeding generation. Once a string has been selected for reproduction, a replica of the string based on its fitness is created and then entered into a mating pool 1401 for waiting the further genetic operations. After reproduction, a new population of strings is generated through the evolutionary processes of crossover 1404 and mutation 1405 to produce a new parent population 1406. Finally, the whole genetic process, as mentioned above, is repeated again and again until an optimal solution is found.

[0251] The Fuzzy Logic Control System (FLCS) 240 shown in FIG. 2 includes the information filter 241, the FNN 142 and the FC 143. The information filter 241 compresses the teaching signal K^(i) to obtain the simplified teaching signal K^(c), which is used with the FNN 142. The FNN 142, by interpolation of the simplified teaching signal K_(c), obtains the knowledge base (KB) for the FC 143.

[0252] As it was described above, the output of the SSCQ is a teaching signal K^(i) that contains the information of the behavior of the controller and the reaction of the controlled object to that control. Genetic algorithms in general perform a stochastic search. The output of such a search typically contains much unnecessary information (e.g., stochastic noise), and as a result such a signal can be difficult to interpolate. In order to exclude the unnecessary information from the teaching signal K¹, the information filter 241 (using as a background the Shannon's information theory) is provided. For example, suppose that A is a message source that produces the message a with probability p(a), and further suppose that it is desired to represent the messages with sequences of binary digits (bits) that are as short as possible. It can be shown that the mean length L of these bit sequences is bounded from below by the Shannon entropy H(A) of the source: L≧H(A), where $\begin{matrix} {{H(A)} = {- {\sum\limits_{a}^{\quad}{{p(s)}\log_{2}{p(a)}}}}} & (7.1) \end{matrix}$

[0253] Furthermore, if entire blocks of independent messages are coded together, then the mean number {overscore (L)} of bits per message can be brought arbitrary close to H(A).

[0254] This noiseless coding theorem shows the importance of the Shannon entropy H(A) for the information theory. It also provides the interpretation of H(A) as a mean number of bits necessary to code the output of A using an ideal code. Each bit has a fixed ‘cost’ (in units of energy or space or money), so that H(A) is a measure of the tangible resources necessary to represent the information produced by A.

[0255] In classical statistical mechanics, in fact, the statistical entropy is formally identically to the Shannon entropy. The entropy of a macrostate can be interpreted as the number of bits that would be required to specify the microstate of the system.

[0256] Suppose x₁, . . . , x_(N) are N independent, identical distributed random variables, each with mean {overscore (x)} and finite variance. Given δ, ε>0, there exist N₀ such that, for N≧N₀, $\begin{matrix} {{P\left( \left| {{\frac{1}{N}{\sum\limits_{i}^{\quad}x_{i}}} - \overset{\_}{x}} \middle| {> \delta} \right. \right)} < ɛ} & (7.2) \end{matrix}$

[0257] This Standard result is known as the weak law of large numbers. A sufficiently long sequence of independent, identically distributed random variables will, with a probability approaching unity, have an average that is close to mean of each variable.

[0258] The weak law can be used to derive a relation between Shannon entropy H(A) and the number of ‘likely’ sequences of N identical random variables. Assume that a message source A produces the message a with probability p(a). A sequence α=a₁ a₂ . . . a_(N) of N independent messages from the same source will occur in ensemble of all N sequences with probability P(α)=p(a₁)·p(a₂) . . . p(a_(N)). Now define a random variable for each message by x=−log₂ p(a), so that H(A)={overscore (x)}. It is easy to see that ${{- \log_{2}}{P(\alpha)}} = {\sum\limits_{i}^{\quad}{x_{i}.}}$

[0259] From the weak law, it follows that, if ε, δ>0, then for sufficient large N $\begin{matrix} {{P\left( \left| {{{- \frac{1}{N}}\log_{2}{P(\alpha)}} - {H(A)}} \middle| {> \delta} \right. \right)} < ɛ} & (7.3) \end{matrix}$

[0260] for N sequences of α. It is possible to partition the set of all N sequences into two subsets:

[0261] a) A set A of “likely” sequences for which ${{{{- \frac{1}{N}}\log_{2}{P(\alpha)}} - {H(A)}}} \leq \delta$

[0262] b) A set of ‘unlikely’ sequences with total probability less than a, for which this inequality fails.

[0263] This provides the possibility to exclude the ‘unlikely’ information from the set A which leaves the set of sequences A, with the same information amount as in set Abut with a smaller number of sequences.

[0264] The FNN 142 is used to find the relations between (Input) and (Output) components of the teaching signal K^(c). The FNN 142 is a tool that allows modeling of a system based on a fuzzy logic data structure, starting from the sampling of a process/function expressed in terms of input-output values pairs (patterns). Its primary capability is the automatic generation of a database containing the inference rules and the parameters describing the membership functions. The generated Fuzzy Logic knowledge base (KB) represents an optimized approximation of the process/function provided as input. FNN performs rule extraction and membership function parameter tuning using learning different learning methods, like error back propagation, fuzzy clustering, etc. The KB includes a rule base and a database. The rule base stores the information of each fuzzy rule. The database stores the parameters of the membership functions. Usually, in the training stage of FNN, the parts of KB are obtained separately.

[0265] An example of a KB of a suspension system fuzzy controller obtained using the FNN 142 is presented in FIG. 15. The knowledge base of a fuzzy controller includes two parts, a database where parameters of membership functions are stored, and a database of rules where fuzzy rules are stored. In the example shown in FIG. 15, the fuzzy controller has two inputs (ANT1) and (ANT2) which are pitch angle acceleration and roll angle acceleration, and 4 output variables (CONS1, . . . CONS4), are the valve positions of FL, FR, RL, RR wheels respectively. Each input variable has 5 membership functions, which gives total number of 25 rules.

[0266] The type of fuzzy inference system in this case is a zero-order Sugeno-Takagi Fuzzy inference system. In this case the rule base has the form presented in the list below.

[0267] IF ANT1 is MBF1_1 and ANT2 is MBF2_1 then CONS1 is A1_1 and . . . and CONS4 is A4_1

[0268] IF ANT1 is MBF1_1 and ANT2 is MBF2_2 then CONS1 is A1_2 and . . . and CONS4 is A4_2

[0269] . . .

[0270] IF ANT1 is MBF1_5 and ANT2 is MBF2_5 then CONS1 is A1_25 and . . . and CONS4 is A4_25

[0271] In the example above, when there are only 25 possible combinations of input membership functions, so it is possible to use all the possible rules. However, when the number of input variables is large, the phenomenon known as “rule blow” takes place. For example, if number of input variables is 6, and each of them has 5 membership functions, then the total number of rules could be: N=5⁶=15625 rules. In this case practical realization of such a rule base will be almost impossible due to hardware limitations of existing fuzzy controllers. There are different strategies to avoid this problem, such as assigning fitness value to each rule, and exclusion of rules with small fitness from the rule base. The rule base will be incomplete, but realizable.

[0272] The FC 143 is an on-line device that generates the control signals using the input information from the sensors comprising the following steps: (1) fuzzyfication; (2) fuzzy inference; and (3) defuzzyfication.

[0273] Fuzzyfication is a transferring of numerical data from sensors into a linguistic plane by assigning membership degree to each membership function. The information of input membership function parameters stored in the knowledge base of fuzzy controller is used.

[0274] Fussy inference is a procedure that generates linguistic output from the set of linguistic inputs obtained after fuzzyfication. In order to perform the fuzzy inference, the information of rules and of output membership functions from knowledge base is used.

[0275] Defuzzyfication is a process of converting of linguistic information into the digital plane. Usually, the process of defuzzyfication include selecting of center of gravity of a resulted linguistic membership function.

[0276] Fuzzy control of a suspension system is aimed at coordinating damping factors of each damper to control parameters of motion of car body. Parameters of motion can include, for example, pitching motion, rolling motion, heave movement, and/or derivatives of these parameters. Fuzzy control in this case can be realized in the different ways, and different number of fuzzy controllers used. For example, in one embodiment shown in FIG. 16A, fuzzy control is implemented using two separate controllers, one controller for the front wheels, and one controller for the rear wheels, as shown in FIG. 16A, where a first fuzzy controller 1601 controls front-wheel damper actuators 1603 and 1604 and a second fuzzy controller 1602 controls rear-wheel damper actuators 1605 and 1606. In one embodiment, shown in FIG. 16B, a single controller 1610 controls the actuators 1603-1606.

[0277] Quantum Searching

[0278] As discussed above, the GA uses a global search algorithm based on the mechanics of natural genetics and natural selection. In the genetic search, each design variable is presented by a finite length binary string and the set of all possible solutions is so encoded into a population of binary strings. Genetic transformations, analogous to biological reproduction and evolution, are subsequently used to vary and improve the encoded solutions. Usually, three main operators, reproduction, crossover and mutation are used in the genetic search.

[0279] The reproduction process is one that biases the search toward producing more fit members in the population and eliminating the less fit ones. Hence, a fitness value is first assigned to each string in the population. One simple approach to select members from an initial population to participate in the reproduction is to assign each member a probability of being selected, on the basis of its fitness value. A new population pool of the same size as the original is then created with a higher average fitness value. The process of reproduction results in more copies of the dominant design to be present in the population.

[0280] The crossover process allows for an exchange of design characteristics among members of the population pool with the intent of improving the fitness of the next generation. Crossover is executed, for example, by selecting strings of two mating parents, randomly choosing two sites on the strings, and swapping strings of 0's and 1's between these chosen sites.

[0281] Mutation helps safeguard the genetic search process from a premature loss of valuable genetic material during reproduction and crossover. The process of mutation involves choosing a few members from the population pool on the basis of their probability of mutation and switch 0 to 1 or vice versa at a randomly selected mutation rate on the selected string.

[0282] For 1-point crossover χ and mutation μ, the Walsh-Hadamard transform of the (2-bit representation) mixing matrix is given by: $\hat{M} = \begin{pmatrix} 1 & {\frac{1}{2} - \mu} & {\frac{1}{2} - \mu} & {\left( {\frac{1}{2} - \mu} \right)^{2}\left( {2 - \chi} \right)} \\ {\frac{1}{2} - \mu} & 0 & {\left( {\frac{1}{2} - \mu} \right)^{2}\chi} & 0 \\ {\frac{1}{2} - \mu} & {\left( {\frac{1}{2} - \mu} \right)^{2}\chi} & 0 & 0 \\ {\left( {\frac{1}{2} - \mu} \right)^{2}\left( {2 - \chi} \right)} & 0 & 0 & 0 \end{pmatrix}$

[0283] The matrix {circumflex over (M)} is sparse, containing nine non-zero entries. The Walsh-Hadamard transform of the twist of the (2-bit representation) mixing matrix is given by: ${\hat{M}}^{x} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ {\frac{1}{2} - \mu} & {\frac{1}{2} - \mu} & 0 & 0 \\ {\frac{1}{2} - \mu} & 0 & {\frac{1}{2} - \mu} & 0 \\ {\left( {\frac{1}{2} - \mu} \right)^{2}\left( {2 - \chi} \right)} & {\left( {\frac{1}{2} - \mu} \right)^{2}\chi} & {\left( {\frac{1}{2} - \mu} \right)^{2}\chi} & {\left( {\frac{1}{2} - \mu} \right)^{2}\left( {2 - \chi} \right)} \end{pmatrix}$

[0284] The mixing matrix is lower triangular. With the above matrix representation of a GA, it is possible to describe the GA in terms of a quantum gate as described in more detail below.

[0285] Typically, the GA uses function evaluations alone and does not require function derivatives. While derivatives contribute to a faster convergence towards an optimum, derivatives may also direct the search towards a local optimum. Furthermore, since the search proceeds from several points in the design space to another set of design points, the GA method has a higher probability of locating a global minimum as opposed to those schemes that proceed from one point to another. In addition, genetic algorithms often work on a coding of design variables rather than variables themselves. This allows for an extension of these algorithms to a design space having a mix of continuous, discrete, and integer variables. These properties and the gate representation of GA are used below in a quantum genetic search algorithm.

[0286] As discussed above, FIG. 1 shows an intelligent control suspension system 100 based on soft computing to control the plant 120. The GA 131 searches for a set of control weights for the plant 120. The weight vector (k₁, . . . , k_(h)) is used, in the general case, by the proportional-integral-differential (PID) controller 150 in the generation of a signal u*=δ(k₁, . . . , k_(h)), which is applied to the plant. The entropy S(δ(k₁, . . . , k_(h))) associated to the behavior of the plant on this signal is assumed as a fitness function to be minimize by the GA 131. The GA 131 is repeated several times at regular time intervals in order to produce a set of weight vectors. The vectors generated by the 131 GA are then provided to the FNN 142. The output of the FNN 142 is provided to the fuzzy controller 143. The output of the fuzzy controller 143 is a collection of gain schedules for the PID controller 150.

[0287] For soft computing systems based on a genetic algorithm, there is very often no real control law in the classic control sense, but rather, control is based on a physical control law such as minimum entropy production. This allows robust control because the GA, combined with feedback, guarantee robustness. However, robust control is not necessarily optimal control.

[0288] For random excitations with different statistical properties the GA attempts to find a global optimum solution for a given solution space. The GA produces look-up tables for the FC 143. A random disturbance m(t) can force the output of the GA 131 into a different solution space. FIGS. 17 and 18 show an example of how a random excitation on a control object can disturb the single space of solutions for a fuzzy controller. The KB of the intelligent suspension control system was generated from stochastic simulation using a random Gaussian signal 1703 as the road. After on-line simulation with the Gaussian road, two actual road signals (based on roads measured in Japan) were simulated, as shown in curves 1701 and 1702. Relatively large oscillations in the curve 1701 show that the changes in statistical characteristics of the roads can disturb the single space of solutions for a fuzzy controller. FIG. 18 shows plots of the entropy in the suspension system for the roads corresponding to curves 1701-1702. Again, oscillations in the curve 1801 show that disturbances to the suspension system have forced the fuzzy controller 143 out of its solution space.

[0289] A new solution can be found by repeating the simulation with the GA and finding another single space solution with the entropy-based fitness function for the fuzzy controller with non-Gaussian excitation on the control object. As result, it is possible to generate different look-up tables for the fuzzy controller 143 for different road classes with different types of statistical characteristics.

[0290] The control system 100 uses the GA 131 to minimise the dynamic behaviour of the dynamic system (car and suspension system) by minimising the entropy production rate. Different kinds of random signals (stochastic disturbances) are presented by the profiles of roads. Some of these signals were measured from real roads, in Japan, and some of them were created using stochastic simulations with forming filters based on the FPK (Fokker—Planck—Kolmogorov) equation discussed above. FIG. 19 shows three typical road signals. FIG. 19 includes plots 1901, 1902, and 9103 that show the changing rates of the road signals. The assigned time scale (that is, the x axis of the charts 1901-1903) is calculated to simulate a vehicle speed of 50 kilometres per hour (kph). The charts 1901 and 1902 correspond to measured roads in Japan. The third chart, 1903 corresponds to a Gaussian road obtained by stochastic simulation with the fixed type of the correlation function. The dynamic characteristics of these roads are similar, but the statistical characteristics in chart 1901 are very different from the statistical characteristics of charts 1902 and 1903. The chart 1901 shows a road having a so-called non-Gaussian (colored) stochastic process.

[0291] The statistical characteristics of the road signals produce different responses in the dynamic suspension system and as a result, require different control solution strategies.

[0292]FIGS. 17 and 18 illustrate the dynamic and thermodynamic response of the suspension system (plant) to the above-mentioned excitations. Curves 1701-1703 show the dynamic behaviour of the pitch angle β of the vehicle under the roads corresponding to charts 1901-1903 respectively. Curves 1711-1713 in FIG. 17 are phase plots showing β versus dβ/dt. Curves 1811-1813 in FIG. 18 are phase plots showing S versus dS/dt. The knowledge base, as a look-up table for the fuzzy controller 143, in this simulation was obtained using the Gaussian road signal shown in chart 1903, and then applied to the roads shown in charts 1901 and 1902.

[0293] The system responses from the roads with the same characteristics are similar, which means that the GA 131 has found a good solution for Gaussian-like signal shapes. However, the response obtained from the system on the non-Gaussian road (shown in chart 1901) is a completely different signal. For this non-Gaussian road, a different GA control strategy based on solutions from a different space of solutions is needed. The differences in the system responses are visible on the phase plots 1711-1713.

[0294] The GA 131 searches for a global optimum in a single solution space. It is desirable, however, to search for a global optimum in multiple solution spaces to find a “universal” global optimum. A quantum genetic search algorithm provides the ability to search multiple spaces simultaneously (as described below) to find a universal optimum. FIGS. 20 and 21 show a modified version of the intelligent control systems (from FIGS. 1 and 2 respectively) wherein a Quantum Genetic Search Algorithm (QGSA) 2001 is interposed between the GA 131 and the FNN 142. The QGSA searches several solution spaces, simultaneously, in order to find a universal optimum, that is, a solution that is optimal considering all solution spaces. In FIG. 20, K₁, . . . K_(n) solutions (teaching signa|s

from the GA 131 are provided to inputs of the QGSA 2001, and a universal output solution (teaching signal) K₀ from the QGSA 2001 is provided to the FNN 142. In FIG. 21, the K₁ . . . K_(n) solutions from the GA 131 are provided to inputs of an information compressor 2101 and compressed solutions K₁ . . . K_(n) are provided to the QGSA 2001. The information compressor 2101 performs information filtering similar to that provided by the information filter 241.

[0295] The QGSA 2001 uses a quantum search algorithm. The Quantum search algorithm is a global random searching algorithms based on the laws of quantum mechanics and quantum effects. In the quantum search, the state of a system is represented by a finite complex linear superposition of classical basis states. A quantum gate, made of the composition of three elementary unitary operators, manipulates the initial quantum state|input

in such a way that a measurement of the final state of the system yields the correct output. The quantum search begins by transforming an initial basis state into a complex linear combination of basis states. The three main operators used in quantum search algorithms are called superposition, entanglement and interference operators (these operators are described in more detail in Appendix I attached hereto). A unitary operator encoding a classical function is then applied to the superposed state introducing non-local quantum correlation (entanglement) among the different qubits. An operator such as Quantum Fourier Transform (interference) acts in order to assure that, when a measurement is performed, the outcome is correct. Depending on the output, the quantum search procedure is repeated several times and the computation can be completed with some classical post-processing.

[0296] Superposition is fundamental in quantum mechanics and when applied to composite quantum systems it leads to the notion of entanglement. Interference on the other hand is usually used for classical mechanics. The superposition, entanglement and interference operators are used as three separate terms because they are standard components of a quantum gate.

[0297] A quantum computation involves preparing an initial superposition of states, operating on those states with a series of unitary matrices, and then making a measurement to obtain a definite final answer. The amplitudes of the states determine the probability that this final measurement produced a desired result. Using this as a search method, one can obtain each final state with some probability, and some of these states will be solutions. Thus, this is a probabilistic computation in which at each trial produces some probability of a solution, but no guarantee of a solution. This means the quantum search method is incomplete in that it can find a solution if one exists but can never guarantee a solution in one does not exist.

[0298] A useful conceptual view is provided by the path integral approach to quantum mechanics. In this view, the final amplitude of a given state is obtained by summing over all possible paths that produce that state, weighted by suitable amplitudes. In this way, various possibilities involved in a computation can interfere with each other, either constructively or destructively. This differs from the classical combination of probabilities of different ways to reach the same outcome, where the probabilities are simply added, giving no possibility for interference.

[0299] Consider, for example, a computation that depends on a single choice. The possible choice can be represented as an input bit with value 1 or −1. Assume that the result of the computation from a choice is also a single value, 1 or −1, representing, for example, some consequence of the choice. If one is interested in whether the two results are the same, classically this requires evaluating each choice separately. With a quantum computation one can instead prepare a superposition of the inputs, $\frac{1}{\sqrt{2}}\left( {{0\rangle} + {1\rangle}} \right)$

[0300] using the matrix H, then do the evaluation to give $\frac{1}{\sqrt{2}}\left( {{f_{0}{0\rangle}} + {f_{1}{1\rangle}}} \right)$

[0301] where f_(i) is the evaluation from input i, and equals 1 or −1. Finally one can combine the states again using $\left. H\rightarrow{U\left( {- \frac{\pi}{4}} \right)} \right.$

[0302] to obtain $\frac{1}{2}{\left( {{\left( {f_{0} + f_{1}} \right){0\rangle}} + {\left( {f_{0} - f_{1}} \right){1\rangle}}} \right).}$

[0303] Now if both choices give the same value for f, this result is ±|0

so the final measurement process will give 0. Conversely, if the values are different, this resulting state is ±|1

and the measurement gives 1. Thus, with the effort required to compute one value classically, it is possible to determine definitely whether the two evaluations are the same or different.

[0304] In this example, it was assumed that one could arrange to be in a single state at the end of the computation and hence have no probability for obtaining the wrong answer by the measurement. This result is viewed as summing over the different paths; e.g., the final amplitude for |0

, was the sum over the paths |0

→|0

→|0

and |0

→|1

→|0

. The various formulations of quantum mechanics, involving operators, matrices or sums over paths are equivalent but suggest different thought processes when constructing possible quantum algorithms.

[0305] One example of a robust quantum search algorithm is the algorithm due to Grover. In each iteration of the Grover's quantum search algorithm, there are two steps: 1) a selective inversion of the amplitude of the marked state, which is a phase rotation of π of the marked state; 2) an inversion about the average of the amplitudes of all basis states (both of these operations are described in Appendix 2). The second step can be realized by two Walsh-Hadamard transformations and a rotation of π on all basis states different from |0

.

[0306] The success of Grover's quantum search algorithm and its multi-object generalization is attributable to two main sources: 1) the notion of amplitude amplification; and 2) the reduction to invariant sub-spaces of low dimension for the unitary operators involved. Indeed, the second of these can be said to be responsible for the first: A proper geometrical formulation of the process shows that the algorithm operates primarily within a two-dimensional real sub-space of the Hilbert space of quantum states. Since the state vectors are normalized, the state is confined to a one-dimensional unit circle and (if moved at all) initially has nowhere to go except toward the place where the amplitude for the sought-for state is maximized. This accounts for the robustness of Grover's quantum search algorithm—that is, the fact that Grover's original choice of initial state and of the Walsh-Hadamard transformation can be replaced by (almost) any initial state and (almost) any unitary transformation.

[0307] In general form, Grover's quantum search algorithm is a series of rotations in an SU(2) space spanned by |x₀), the marked state and ${s\rangle} = {\frac{1}{\sqrt{N - 1}}{\sum\limits_{x \neq x_{0}}^{\quad}{{x\rangle}.}}}$

[0308] Each iteration rotates the state vector of the quantum computer system an angle $\psi = {2\quad \arcsin \frac{1}{\sqrt{N}}}$

[0309] towards the |x₀

basis of the SU(2) space. The Walsh-Hadamard transformation can be replaced by almost any unitary transformation. The inversion of the amplitudes can be rotated by arbitrary phases. If one rotates the phases of the states arbitrarily, the resulting transformation is still a rotation of the state vector of the quantum computer towards the |x₀

basis in the SU(2) space, but the angle of rotation is smaller than ψ. For reasons of efficiency, the phase rotation π is generally used. The inversion of the amplitude of the marked state in step 1 is replaced by a rotation through an angle between 0 and π to produce a smaller angle of SU(2) rotation towards the end of a quantum search calculation so that the amplitude of the marked state in the computer system state vector is exactly 1. When the rotation of the phase of the marked state is not π, one cannot simply construct a quantum search algorithm. In vicinity of π, the Grover's algorithm still works, though the height of the norm cannot reach 1. But it can still reach a relatively large value. This shows that Grover's algorithm is robust with respect of phase rotation to π. Grover's quantum search algorithm has good tolerance for a phase rotating angle near π. In other words, a small deviation from π will not destroy the algorithm. This is useful, as an imperfect gate operation may lead to a phase rotation not exactly equal to π.

[0310] From the mathematical point of view, a large class of problems can be specified as search problems of the form “find some x such that P(x) is true” for some predicate P. Such problems range from sorting to graph coloring to database search, etc. For example:

[0311] Given an ne lement vector A, find a permutation π on [1, . . . , n] such that ∀1≦i<n:A_(π(i))<A_(π(i+1)).

[0312] Given a graph (V, E) with n vertices V and e edges E⊂V×V and a set of k colors C, find a mapping c from V to C such that ∀(vν₁, ν₂)εE:c(ν₁) ≠c(ν₂).

[0313] For certain types of problems, where there is some problem structure that can be exploited, efficient algorithms are known. Many search problems, such as constraint satisfaction problems involving graph colorability, or searching an alphabetized list, have structured search spaces in which full solutions can be built from smaller partial solutions. But in the general case with no structure, randomly testing predicates P(x_(i)) one by one is the best that can be done classically. For a search space of size N, the general unstructured search problem is of complexity O(N), once the time it takes to test the predicate P is factored out. On a quantum computer, however, the unstructured search problem can be solved with bounded probability within O({square root}{square root over (N)}) time. Thus Grover's search algorithm is more efficient than any algorithm that could run on a classical computer. Grover's quantum search algorithm searches a completely unstructured solution space. While Grover's algorithm is optimal, for completely unstructured searches, most search problems involve searching a structured solution space.

[0314] Quantum algorithms that use the problem structure in a similar way to classical heuristic search algorithms can be useful. One problem with this approach is that the introduction of problem structure often makes the algorithms complicated enough that it is hard to determine the probability that a single iteration of the algorithm will give a correct answer. Therefore it is difficult to know how efficient structured quantum algorithms are. Classically, the efficiency of heuristic algorithms is estimated by empirically testing the algorithm. But, as there is an exponential slow down when simulating a quantum computer on a classical one, empirical testing of quantum algorithms is currently infeasible except in small cases.

[0315] Grover's algorithm searches an unstructured list of size N. Let n be such that 2^(n)≧N. Assume that predicate P on n-bit values x is implemented by a quantum gate U_(p):

U_(p):|x,0

→x, P(x))

[0316] where “True” is encoded as 1.

[0317] The first step is the standard step for quantum computing: Compute P for all possible inputs x₁ by applying U_(p) to a register containing the superposition $\frac{1}{\sqrt{2^{n}}}{\sum\limits_{x = 0}^{n - 1}{x\rangle}}$

[0318] of all 2^(n) possible inputs x together with a register set to 0, such that ${{{{{\left. {U_{p}\text{:}\frac{1}{\sqrt{2^{n}}}\sum\limits_{x = 0}^{n - 1}} \middle| \quad x \right.,0}\rangle}->\left. {\frac{1}{\sqrt{2^{n}}}\sum\limits_{x = 0}^{n - 1}} \middle| \quad x \right.},{P(x)}}\rangle}.$

[0319] For any x₀ such that P(x₀) is true, |x₀, 1

will be part of the superposition ${{\left. {\frac{1}{\sqrt{2^{n}}}\sum\limits_{x = 0}^{n - 1}} \middle| \quad x \right.,{P(x)}}\rangle},$

[0320] but since its amplitude is $\frac{1}{\sqrt{2^{n}}},$

[0321] the probability that a measurement of the 1 ‘-’ superposition produces x₀ is only 2^(−n). It is useful to change the quantum state ${\left. {\frac{1}{\sqrt{2^{n}}}\sum\limits_{x = 0}^{n - 1}} \middle| \quad x \right.,{P(x)}}\rangle$

[0322] so as to greatly increase the amplitude of vectors |x, 0) for which the predicate is false.

[0323] Once such a transformation of the quantum state has been performed, one can simply measure the last qubit of the quantum state, which represents P(x). Because of the amplitude change, there is a high probability that the result will be 1. If this is the case, the measurement has projected the state ${\left. {\frac{1}{\sqrt{2^{n}}}\sum\limits_{x = 0}^{n - 1}} \middle| \quad x \right.,{P(x)}}\rangle$

[0324] onto the subspace ${\left. {\frac{1}{\sqrt{2^{k}}}\sum\limits_{x = 0}^{k}} \middle| \quad x_{i} \right.,1}\rangle$

[0325] where k is the number of solutions. Further, measurement of the remaining bits will provide one of these solutions. If the measurement of qubit P(x) yields 0, then the whole process is started over and the superposition ${\left. {\frac{1}{\sqrt{2^{n}}}\sum\limits_{x = 0}^{n - 1}} \middle| \quad x \right.,{P(x)}}\rangle$

[0326] is computed again.

[0327] Grover's algorithm includes of the following steps:

[0328] 1. Prepare a register containing a superposition of all of the possible values x_(i)ε[0 . . . 2^(n−1)];

[0329] 2. Compute P(x_(i)) on this register;

[0330] 3. Change the amplitude a_(j) to −a_(j) for x_(j) such that P(x_(j))=1. An efficient algorithm for changing selected signs is described in Appendix 2. A plot of the amplitudes after this step is shown in FIG. 22A (before inversion) and 22B (after inversion).

[0331] 4. Apply inversion about the average to increase the amplitude of x_(j) with P(x_(j))=1. A quantum algorithm to efficiently perform inversion about the average is given in Appendix 2. The resulting amplitudes look as shown, where the amplitude of all the x_(i)'s with P(x_(i))=0 have been diminished imperceptibly.

[0332] 5. Repeat steps 2 through $4\frac{\pi}{4}\sqrt{2^{n}}$

[0333] times.

[0334] 6. Read the result.

[0335] Grover's algorithm is optimal up to a constant factor, no quantum algorithm can perform an unstructured search faster. If there is only a single x₀, such that P(x₀) is true, then after $\frac{\pi}{8}\sqrt{2^{n}}$

[0336] iterations of steps 2 through 4 the failure rate, is 0.5. After iterating $\frac{\pi}{4}\sqrt{2^{n}}$

[0337] times the failure rate drops to 2^(−n). Additional iterations will increase the failure rate. For example, after $\frac{\pi}{2}\sqrt{2^{n}}$

[0338] iterations the failure rate is close to 1.

[0339] There are many classical algorithms in which a procedure is repeated over and over again for ever better results. Repeating quantum procedures may improve results for a while, but after a sufficient number of repetitions the results will get worse again. Quantum procedures are unitary transformations, which are rotations of complex space, and thus while a repeated applications of a quantum transform may rotate the state closer and closer to the desired state for a while, eventually it will rotate past the desired state to get farther and farther from the desired state. Thus, to obtain useful results from a repeated application of a quantum transformation, it is useful to know when to stop.

[0340] The loop in steps 3-5 above is the heart of the Grover search algorithm. Each iteration of this loop increases the amplitude in the desired state by ${O\left( \frac{1}{\sqrt{N}} \right)},$

[0341] as a result in O({square root}{square root over (N)}) repetitions of the loop, the amplitude and hence the probability of being in the desired state reach O(1). To show that the amplitude increases by $O\left( \frac{1}{\sqrt{N}} \right)$

[0342] in each repetition, it is first useful show that the diffusion transform, D, can be interpreted as an inversion about an average. A simple inversion is a phase rotation operation, and it is unitary. The inversion about average operation (as developed Appendix 2) is also a unitary operation and is equivalent to the diffusion transform D as used in steps 3-5 of the above algorithm.

[0343] Let α denote the average amplitude over all state, i.e., if α_(i) be the amplitude in the i-th state, then the average is $\frac{1}{N}{\sum\limits_{i = 1}^{N}\quad {\alpha_{i}.}}$

[0344] As a result of the operation D, the amplitude in each state increases (decreases) so that after this operation it is as much below (above) α, as it was above (below) α before the operation (see FIG. 23). The diffusion transform D is defined as follows: ${D_{ij} = \frac{2}{N}},{{i \neq {j\quad {and}\quad D_{u}}} = {{- 1} + {\frac{2}{N}.}}}$

[0345] D can be represented in the form D=−I+2P, where operator I is the identity matrix and P is a projection matrix with P_(ij)=1/N for all i, j. The following properties of P are easily verified: first that P²=P; and second, that P acting on any vector {overscore (v)} gives a vector each of whose components is equal to the average of all components.

[0346] In order to see that D is the inversion about average, consider what happens when D acts on an arbitrary vector {overscore (v)}. Expressing D as −I+2P, it follows that:

D{overscore (v)}=(−I+2P){overscore (v)}=−{overscore (v)}+2P{overscore (v)}.

[0347] By the discussion above, each component of the vector P{right arrow over (v)} is A, where A is the average of all components of the vector {overscore (v)}. Therefore, the i-th component of the vector D{overscore (v)} is given by (−v_(i)+2A) which can be written as [A+(A−v_(i))], which is precisely the inversion about an average.

[0348] Next consider the situation, shown in FIG. 23, when this operator is applied to a vector with each of the components, except one, having an amplitude equal to C/{square root}{square root over (N)} a where C list between ½ and 1. The one component that is different has an amplitude of (−{square root}{square root over (1−C²)}). The average A of all components is approximately equal to C/{square root}{square root over (N)}. Since each of the (N−1) components is approximately equal to the average, they do not change significantly as a result of the inversion about average. The one component that was negative now becomes positive and its magnitude increases by 2C/{square root}{square root over (N)}.

[0349] The quantum search algorithm can also be expressed as follows: Given a function f(x_(i)) on a set χ of input states such that $\begin{matrix} {{f\left( x_{i} \right)} = \left\{ \begin{matrix} {1,} & {{if}\quad x_{i}\quad {is}\quad a\quad {target}\quad {element}} \\ {0,} & {otherwise} \end{matrix} \right.} & (8.1) \end{matrix}$

[0350] find a target element by using the least number of calls to the function f(x_(i)). In general, there might be r target elements, in which case any one will suffice as the answer.

[0351] Grover's algorithm can be generalized as follows. First, form a Hilbert space with an orthonormal basis element for each input x_(i)εχ. Without loss of generality, write the target states |t_(i)

and the non-target states as |I_(i)

. The basis of input eigenstates is called the measurement basis. Let N=|χ| be the cardinality of χ. The function call is to be implemented by a unitary operator that acts as follows:

|x _(i)

|y

→|x _(i)

|y⊕f(x ^(i))

  (8.2)

[0352] where |y

is either |0

or |1

. By acting on $\begin{matrix} \left. {{\left. {\left. {\left( \left. {\sum\limits_{i = 1}^{N - r}\quad l_{i}} \middle| l_{i} \right.\rangle \right. + {\sum\limits_{j = 1}^{r}\quad k_{j}}} \middle| t_{j} \right.\rangle} \right)\frac{1}{\sqrt{2}}\left( \left| 0 \right.\rangle \right.} - {1\rangle}} \right) & (8.3) \end{matrix}$

[0353] with this operator construct the state $\begin{matrix} \left. {{\left. {\left. {\left( \left. {\sum\limits_{i = 1}^{N - r}\quad l_{i}} \middle| l_{i} \right.\rangle \right. - {\sum\limits_{j = 1}^{r}\quad k_{j}}} \middle| t_{j} \right.\rangle} \right)\frac{1}{\sqrt{2}}\left( \left| 0 \right.\rangle \right.} - {1\rangle}} \right) & (8.4) \end{matrix}$

[0354] where the r measurement basis states |t_(i)

are the target states and N−r measurement basis states |l_(i)

are the non-target states. Disregarding the state ${\frac{1}{\sqrt{2}}\left( {{0\rangle} - {1\rangle}} \right)},$

[0355] then the phase of the target states has been inverted. Hence, the unitary operator above is equivalent to the operator $\begin{matrix} {1 - {2{\sum\limits_{i = 1}^{r}\quad {{t_{i}\rangle}{\langle t_{i}}}}}} & (8.5) \end{matrix}$

[0356] (It is not necessary to know what the target states are a priori.) Next, construct the operator Q defined as $\begin{matrix} {Q = {\left( {{2{a\rangle}{\langle a}} - 1} \right)\left( {1 - {2{\sum\limits_{i = 1}^{r}\quad {{t_{i}\rangle}{\langle t_{i}}}}}} \right)}} & (8.6) \end{matrix}$

[0357] Where |a

can be thought of as the averaging state. Different choices of |a

give rise to different unitary operators for performing amplitude amplification. In the original Grover algorithm, the state |a

was chosen to be $\begin{matrix} {{a\rangle} = {\frac{1}{\sqrt{\chi }}{\sum\limits_{x \in \quad \chi}{x\rangle}}}} & (8.7) \end{matrix}$

[0358] and was obtained by applying the Walsh-Hadamard operator, U, to a starting eigenstate |s

, i.e., |a

=U|s

. Hence, the operation (2|a

a|−1), called inversion about the average, is equivalent to −UI_(s)U⁺ with U being the Walsh-Hadamard operator and I_(s) being 1−2|s

s|.

[0359] By knowing more about the structure of the problem one can choose other vectors |a

that will allow finding a target state faster.

[0360] Fortunately, in order to determine what action the operator Q performs, it is sufficient to focus on a two-dimensional subspace. The basis vectors of this subspace can be written as $\begin{matrix} {\begin{matrix} {{{t\rangle} = {\frac{1}{v}{\sum\limits_{i = 1}^{r}{{\langle{t_{i}{a\rangle}}}t_{i}}}}}\rangle} \\ \left. {{{{a^{\prime}\rangle} = {\frac{1}{\sqrt{1 - v^{2}}}\quad \left(  \right.a}}\rangle} - {v{t\rangle}}} \right) \end{matrix},{v^{2} = {\sum\limits_{i = 1}^{r}\quad {{\langle{t_{i}{a\rangle}}}^{2}}}}} & (8.8) \end{matrix}$

[0361] It is observed that |t

is the normalized projection of |a

onto the space of target states and |a′

is the normalized projection of |a

onto the space orthogonal to |t

.

[0362] The rest of the Hilbert space (i.e., the space orthogonal to |t

and |a′

) can be broken up into the space of target states (S_(T)) and the space of non-target states (S_(L)). Q can be written as

Q=cosφ(|

t

t|+|a′

a′|)+sinφ(|

t

−|a′

t|)+I _(T) −I _(L), φ≡cos⁻¹[1−2v ²]  (8.9)

[0363] where I_(T) and I_(L) are the identity operators on (S_(T)) and (S_(L)) respectively. From this, it is clear that Q is a rotation matrix on |a′

and |t

and Q acts trivially on the rest of the space.

[0364] An arbitrary starting superposition |s

for the algorithm can be written as

|

s

=α|

+βe ^(ib)

|a′

+|φ _(t)

+|φ_(I)

  (8.10)

[0365] where the states |φ_(t)

and |φ_(l)

(which have a norm less than one if the state |s

is to be properly normalized overall) are the components of |s

in (S_(T)) and (S_(L)) respectively. Also, α, β and b are positive real numbers. After n applications of Q on an arbitrary starting superposition |s

one obtains

Q ^(n) |s

=[α cos(nφ)+βe ^(ib) sin(nφ)]|

t

+[βe ^(ib) cos(nφ)+α sin(nφ)]|a′

+|φ_(l)

+(−1)^(n)|φ_(l)

  (8.11)

[0366] Measuring this state provides the probability of success (i.e., measuring a target state) as given by two terms.

[0367] The first term is the magnitude squared of Q^(n)|s

in the space S_(T). This magnitude is (φ_(t)|φ_(t)

and is unchanged by Q.

[0368] The value g(n) is the magnitude squared of the coefficient of |t

, which is given by $\quad \begin{matrix} \begin{matrix} {{{g(n)} \equiv {{\langle{t\quad {Q^{n}}s}\rangle}}^{2}}\quad} \\ {{= {{{\alpha \quad {\cos \left( {n\quad \varphi} \right)}} + {\beta \quad ^{\quad b}{\sin \left( {n\quad \varphi} \right)}}}}^{2}}\quad} \\ {\quad {= {\frac{\alpha^{2} + \beta^{2}}{2} + {\frac{\alpha^{2} - \beta^{2}}{2}{\cos \left( {2\quad n\quad \varphi} \right)}} + {\alpha \quad \beta \quad \cos \quad b\quad {\sin \left( {2\quad n\quad \varphi} \right)}}}}} \\ {{= {\frac{\alpha^{2} + \beta^{2}}{2} + {{\frac{1}{2}\left\lbrack {\alpha^{2} + {\beta^{2}^{2\quad b}}} \right\rbrack}{\cos \left( {{2\quad n\quad \varphi} + \psi} \right)}}}}\quad} \end{matrix} & (8.12) \end{matrix}$

[0369] where $\psi \equiv {{\cos^{- 1}\left\lbrack \frac{\beta^{2} - \alpha^{2}}{\alpha^{2} + {\beta^{2}^{2\quad b}}} \right\rbrack}.}$

[0370] This is the term that is affected by Q and is the term to be maximized. The total probability of success after n iterations of Q acting on |s

is

p(n, r, N)=(φ_(t)|φ_(t)

+g(n)  (8.13)

[0371] Assuming that n is continuous (an assumption that is justified below) the maxima of g(n), and hence the maxima of the probability of success of Grover's algorithm, are given by the following. $\begin{matrix} {{n_{j} = {\frac{1}{2\quad \varphi}\left( {{- \psi} + {2\quad \pi \quad j}} \right)}},{j = 0},1,{2\quad \ldots}} & (8.14) \end{matrix}$

[0372] The value of g(n) at these maxima is given by $\begin{matrix} {{g\left( n_{j} \right)} = {\frac{\alpha^{2} + \beta^{2}}{2} + {\frac{1}{2}\left\lbrack {\alpha^{2} + {\beta^{2}^{2\quad b}}} \right\rbrack}}} & (8.15) \end{matrix}$

[0373] In practice, the optimal n must be an integer and typically the n_(j)'s are not integers. However, since g(n) can be written as

g(n _(j)±δ)=g(n _(j))−φ²[α²+β² e ^(2ib)]δ²+O(δ₄)  (8.16)

[0374] around n_(j) and most interesting problems will have v<<1 and hence φ≅2v<<1, simply rounding n_(j) to the nearest integer will not significantly change the final probability of success. So, $\begin{matrix} {{p\left( {n_{\max},r,N} \right)} = {\frac{\alpha^{2} + \beta^{2}}{2} + {\frac{1}{2}\left\lbrack {\alpha^{2} + {\beta^{2}^{2\quad b}}} \right\rbrack} + {\langle{{\varphi_{t}{\varphi_{t}\rangle}} - {O\left( v^{2} \right)}}}}} & (8.17) \end{matrix}$

[0375] is the probability of measuring a target state after n_(max)=n_(j) applications of Q.

[0376] Grover's algorithm provides for searching a single element in an unsorted database (DB). The above description is presented in a way that makes possible the generalization of the algorithm to perform multi-object search in an unstructured DB.

[0377] The Grover's quantum search algorithm was developed for searching a single element in an unsorted database containing N>>1 items and treated the following abstract problem: given a Boolean function f(w)=1, w=1, . . . , N, which is known to be zero for all w except at a single point, say at w=a, where f(a)=1; find the value a. The function can be treated as “oracle” or “black box” wherein all that is known about it is its output for any input. On a classical computer it is necessary to evaluate the function $\frac{N + 1}{2}$

[0378] times on average to find the answer to this problem. In contrast, Grover's quantum search algorithm finds a solution in O({square root}{square root over (N)}) steps.

[0379] The quantum-mechanical statement of the above search problem is: given an orthogonal basis |w

:w=1, 2, . . . , N; single out the basis element |a

for which f(a)=1. Each |w

is to be an eigenstate of the qubits making up the quantum computing. If N=2^(n), then n qubits will be needed. At T=0, prepare the state of the system |ψ

in a superposition of the state {|w

}, each with the same probability: ${\psi\rangle} = {{\frac{1}{\sqrt{N}}{\sum\limits_{1}^{N}\quad {w\rangle}}} \equiv {{s\rangle}.}}$

[0380] By the Graham-Schmidt construction, extend |a

to an orthonormal basis for the sub-space spanned by |a

and |s

. That is, introduce a normalized vector |r

orthogonal to |a

, ${{r\rangle} = {\frac{1}{\sqrt{N - 1}}{\sum\limits_{w \neq a}{w\rangle}}}},$

[0381] and find that the initial state has the representation ${s\rangle} = {{\sqrt{\frac{N - 1}{N}}{r\rangle}} + {\frac{1}{\sqrt{N}}{{a\rangle}.}}}$

[0382] Following Grover's quantum search algorithm, now define the unitary operator of inversion about the average, I_(s)=I−2|s

|.

[0383] The only action of this operator is to flip the sign of the state |s

; that is, I_(s)|s

=−|s

but I_(s)|v

=|v

if

s|v

=0.

[0384] I_(s) in this case is written as $\begin{matrix} {I_{s} = {{- {\left( {1 - \frac{2}{N}} \right)\left\lbrack {{{r\rangle}{\langle r}} - {{a\rangle}{\langle a}}} \right\rbrack}} - {2{\frac{\sqrt{N - 1}}{N}\left\lbrack {{{r\rangle}{\langle a}} + {{a\rangle}{\langle r}}} \right\rbrack}}}} & (8.18) \end{matrix}$

[0385] or, with respect to the orthonormal basis, the operator (8.18) can be represented by the orthogonal real unitary matrix $\begin{pmatrix} {1 - \frac{2}{N}} & {{- 2}\frac{\sqrt{N - 1}}{N}} \\ {{- 2}\frac{\sqrt{N - 1}}{N}} & {- \left( {1 - \frac{2}{N}} \right)} \end{pmatrix}.$

[0386] Similarly, define the operator I_(a)=I−2|a

a| which satisfies I_(a)|a

=−|a

. In terms of the oracle function f,

I _(a) |w

=(−1)^(f(w))

|w

[0387] for each |w

in the original basis for the full state space of the quantum computing.

[0388] Therefore, to execute the operation I_(a) one does not need to know a; one only needs to know f. And conversely, being able to execute I_(a) does not mean that one can immediately determine a; {square root}{fraction (N)} steps will be needed.

[0389] A simple “Grover's iteration” is the unitary operator U≅−I_(s)I_(a). This product can be calculated easily in either the bra-ket or matrix formalism. In particular, for transition element (a|U|s) $\begin{matrix} {{{\langle a}U^{m}{s\rangle}} = {{{\langle a}\left\lbrack {{\left( {1 - \frac{2}{N}} \right)I} + {2\frac{\sqrt{N - 1}}{N}\left( {{{a\rangle}{\langle r}} - {{r\rangle}{\langle a}}} \right)}} \right\rbrack}{s\rangle}}} \\ {= {{\left( {1 - \frac{2}{N}} \right)\frac{1}{\sqrt{N}}} + {2\left( {1 - \frac{1}{N}} \right)\frac{1}{\sqrt{N}}}}} \\ {= {\frac{1}{\sqrt{N}} + \frac{2}{\sqrt{N}} + {O\left( N^{\quad {- \frac{3}{2}}} \right)}}} \end{matrix}$

[0390] The fact that the matrix element (a|U|s) is nonzero can be used to reinforce the probability amplitude of the unknown state |a

. Using U as a unitary search operation, then after m>>1 trials the value

a|U^(m)|s

can be evaluated as follows: $\begin{matrix} {{\langle{a{U^{m}s}}\rangle} = {\left\lbrack {1\quad 0} \right\rbrack \begin{pmatrix} {1 - \frac{2}{N}} & {{- 2}\frac{\sqrt{N - 1}}{N}} \\ {{- 2}\frac{\sqrt{N - 1}}{N}} & {- \left( {1 - \frac{2}{N}} \right)} \end{pmatrix}^{m}\left( \frac{\frac{1}{\sqrt{N}}}{\sqrt{\frac{N - 1}{N}}} \right)}} \\ {{= {\left\lbrack {1\quad 0} \right\rbrack \begin{pmatrix} {\cos \quad \theta} & {\sin \quad \theta} \\ {{- \sin}\quad \theta} & {\cos \quad \theta} \end{pmatrix}^{m}\left( \frac{\frac{1}{\sqrt{N}}}{\sqrt{\frac{N - 1}{N}}} \right)}},{\theta = {\sin^{- 1}2\frac{\sqrt{N - 1}}{N}}}} \\ {= {\left\lbrack {1\quad 0} \right\rbrack \begin{pmatrix} {\cos \quad m\quad \theta} & {\sin \quad m\quad \theta} \\ {{- \sin}\quad m\quad \theta} & {\cos \quad m\quad \theta} \end{pmatrix}\left( \frac{\frac{1}{\sqrt{N}}}{\sqrt{\frac{N - 1}{N}}} \right)}} \\ {= {{\frac{1}{\sqrt{N}}\cos \quad m\quad \theta} + {\sqrt{\frac{N - 1}{N}}\sin \quad m\quad \theta \quad {or}}}} \\ {{{\langle{a{U^{m}s}}\rangle} = {\cos \left( {{m\quad \theta} - \alpha} \right)}};{\alpha \equiv {\cos^{- 1}\frac{1}{\sqrt{N}}}}} \end{matrix}$

[0391] Setting |

a|U^(m)|s

|²=|cos(mθ−α)|²=1, one can maximize the amplitude of U^(m)|s

in the state |a

; thus $\begin{matrix} {{m\quad \theta} - \alpha} & {= 0} \\ m & {= \frac{\alpha}{\theta}} \end{matrix}$

[0392] (if no integer satisfies this equation exactly, take the closest one.)

[0393] When N is large, ${\theta \approx \frac{2}{\sqrt{N}}},{\alpha \approx \frac{\pi}{2}}$

[0394] and obtain $\begin{matrix} {{m \approx \frac{\alpha}{\theta} \approx {\frac{\pi}{2}/\left( \frac{2}{\sqrt{N}} \right)}} = {\frac{\pi}{4}{\sqrt{N}.}}} & (8.19) \end{matrix}$

[0395] Therefore, after m=O({square root}{square root over (N)}) trials, the state |a

will be projected out, which is precisely Grover's result. By observing the qubits, a is determined. By constructive interference, it is possible to construct |a

. Since m only approximately satisfies (8.19), there is a small chance of getting a “bad” a. But, because evaluating f (a) is easy, in that case one will recognize the mistake and start over.

[0396] An unstructured search problem, in the case when the initial state is unknown and arbitrary entangled is the most general situation one might expect to have when working with subroutines involving quantum search or counting of solutions in a larger quantum computation. This situation is typical in the case of KB design of robust fuzzy controllers in intelligent control suspension system for different types of roads and connected with partial sorted data after GA optimization and an FNN learning processes. In particular, it is useful to derive an iteration formula for the action of the original Grover's operator and find, similar to the case of an initial state with unknown amplitudes, that the final state is a periodic function of the number of “good” items and can be expressed in terms of first and second order moments of the initial amplitude distribution of states alone.

[0397] Considered the problem to find a “good” file, represented as the state |g

, out of N files |a

; a=0, . . . , N−1. The algorithm starts with the preparation of a flat superposition of all states |a

, i.e. $\begin{matrix} {{\psi_{0}\rangle} = {\frac{1}{\sqrt{N}}{\sum\limits_{a = 0}^{N - 1}{a\rangle}}}} & (8.20) \end{matrix}$

[0398] and assumes that there is an oracle which evaluates the function H(a), such that H(g) 1 for the “good” state |g

, and H(g)=0 for the “bad” states |b

(i.e., the remaining states in the set of all the a's). The unitary transformation for the “search” of |g

is then defined by G_(H)=−WS_(O)WS_(H), where the Walsh-Hadamard transform W is defined as ${W{a\rangle}} \equiv {\frac{1}{\sqrt{N}}{\sum\limits_{c = 0}^{N - 1}{\left( {- 1} \right)^{a\quad c}{c\rangle}}}}$

[0399] (with ${{a \cdot c} \equiv {\sum\limits_{i}{a_{i}c_{i}\quad {mod}\quad 2}}},$

[0400] a_(i)(c_(i).) being the binary digits of a(c), S_(O)≅I−2|0

0| and $\left. {S_{H} \equiv {I - {2\quad {\sum\limits_{g}{{g\rangle}{\langle g}}}}}} \right).$

[0401] In fact S_(H) can be implemented as an |a

—“controlled” unitary transformation by tensoring |ψ₀

with an extra ancillary qubit |e

≅[|0

−|1

]/{square root}{square root over (2)}, such that U_(H)|a

|e

≅|a

|e+H(a)mod2).

[0402] Thus obtaining $\left. {U_{H}{\psi_{0}\rangle}}\rightarrow{\frac{1}{\sqrt{N}}{\sum\limits_{a = 0}^{N - 1}{{a\rangle}\left( {- 1} \right)^{H{(a)}}{{e\rangle}.}}}} \right.$

[0403] Iterating G_(H)=Q^(n) for n≅O({square root}{square root over (N)}) times on (8.26) then produces a state whose amplitude is peaked around the searched item |g

. Classically, it would take of the order of O(N) steps on the average to find the same element g, so that Grover's quantum method achieves a square root speed up compared to its classical analogue. Subsequently, Grover's algorithm has been extended to the case when there are t “good” items |g

to be searched and when the number of “good” items is not known. The number of steps required in these cases is of the order of O({square root}{square root over (N/t)}), again a square root improvement with respect to the classical algorithms.

[0404] New algorithms with exponential speed-up in Appendix 5 are described.

[0405] The algorithms discussed above made the essential assumption that the starting state is to be prepared in the flat superposition form given by Equation (8.20). A first attempt to generalize such results occurs when the amplitudes of the initial superposition of states are arbitrary and unknown complex numbers. In particular, by exactly solving certain linear differential equations describing the evolution of the initial amplitudes, one can still express the optimal measurement time and the maximal probability of success in a closed and exact form which depends only on the averages and the variances of the initial amplitude distribution of states.

[0406] One of the main resources and ingredients of quantum computation lies, however, not only in the possibility of dealing with arbitrary complex superpositions of qubits, but in the massive exploitation of quantum entanglement. One cannot necessarily deal with the ansatz when the “good” state has a complicated, unknown structure by entanglements by directly and naively using Grover's algorithm. An important case may arise, for instance, when the computational qubits get nontrivially entangled with environment, and encoding/decoding techniques become necessary in order to prevent errors from occurring and spreading in the quantum computer calculations. Different approaches for solving these cases in Appendix 5 are discussed.

[0407] Consider, for example, if in the database search problem, one is given the initial superposition $\begin{matrix} {{\psi\rangle} \equiv {\frac{1}{\sqrt{N}}{\sum\limits_{a = 0}^{N - 1}{{a\rangle}{{f(a)}\rangle}}}}} & (8.21) \end{matrix}$

[0408] where now the index a simply labels the files, while f(a) corresponds to the actual file content. In fact, one might know the desired states |g

, but ignore the function f (and, therefore, the file content f(g)), and thus want to extract the states|g

|f(g)) from the original superposition and eventually read (i.e. measure) or use f(g) only later in another quantum routine.

[0409] But, in Grover's algorithm, the application of any unitary transformation acting on the label states |a

would automatically affect also and nontrivially (e.g., producing complicated entangled states) on |f(a)), with f(a) unknown a priori. Grover's algorithm is generalized, for an arbitrary entangled initial state, by giving an exact formula for the n-th iteration of Grover's operator and comparing the results with those for the case of an initial superposition of states with arbitrary complex amplitudes.

[0410] The “good” (orthonormal) states to be found are defined, in number t, as |g

, the remaining, or “bad” states are defined as |b

, where, by definition, $\begin{matrix} \begin{matrix} {{G\rangle} \equiv {\sum\limits_{g}{{g\rangle}{{f(g)}\rangle}}}} & {{B\rangle} \equiv {\sum\limits_{b}{{b\rangle}{{f(b)}\rangle}}}} \\ {{G_{1}\rangle} \equiv {\sum\limits_{g}{g\rangle}}} & {{B_{1}\rangle} \equiv {\sum\limits_{b}{b\rangle}}} \\ {{G_{2}\rangle} \equiv {\sum\limits_{g}{{f(g)}\rangle}}} & {{B_{2}\rangle} \equiv {\sum\limits_{b}{{f(b)}\rangle}}} \end{matrix} & (8.22) \end{matrix}$

[0411] Then study what is the effect of acting with Grover's unitary transformation G_(H)=−WS_(O)WS_(H) on the state |ψ

as defined in Equation (8.11). Using the simplifying notation (8.22), gives $\begin{matrix} \begin{matrix} {{\psi\rangle} = {\frac{1}{\sqrt{N}}\left\lbrack {{G\rangle} + {B\rangle}} \right\rbrack}} \\ {{G_{H}{\psi\rangle}} = {\frac{1}{\sqrt{N}}\left\lbrack {{G\rangle} + {B\rangle} - {\frac{2}{N}\left( {{G_{1}\rangle} + {B_{1}\rangle}} \right){C_{2}^{(1)}\rangle}}} \right\rbrack}} \end{matrix} & (8.23) \end{matrix}$

[0412] where ≡|G₂

−|B₂

. By induction, the n-th iteration of G_(H)on |ψ

gives $\begin{matrix} {{G_{H}^{n}{\psi\rangle}} = {\frac{1}{\sqrt{N}}\left\lbrack {{G\rangle} + {\left( {- 1} \right)^{n}{B\rangle}} - {\frac{2}{N}\left( {{{G_{1}\rangle}{X_{2}^{(n)}\rangle}} + {{B_{1}\rangle}\quad {Y_{2}^{(n)}\rangle}}} \right)}} \right\rbrack}} & (8.24) \end{matrix}$

[0413] where the states |X₂ ^((n))

and |Y₂ ^((n))

satisfy the following recurrence relations $\begin{matrix} \begin{matrix} {{X_{2}^{(n)}\rangle} \equiv {{\cos \quad \theta \quad {X_{2}^{({n - 1})}\rangle}} + {2\quad \cos^{2}\theta {Y_{2}^{({n - 1})}\rangle}} + {C_{2}^{(n)}\rangle}}} \\ {{Y_{2}^{(n)}\rangle} \equiv {{{- 2}\quad \sin^{2}\quad \theta \quad {X_{2}^{({n - 1})}\rangle}} + {\cos \quad 2\quad \theta {Y_{2}^{({n - 1})}\rangle}} + {C_{2}^{(n)}\rangle}}} \end{matrix} & (8.25) \end{matrix}$

[0414] with |C₂ ^((n))

≡|G₂

+(−1)^(n)|B₂

and sin² θ=t/N, and are subject to the initial condition |X₂ ⁽¹⁾

=|Y₂ ⁽¹⁾=.

[0415] Adopting a more compact matrix notation, i.e. writing {right arrow over (Z)}_(n)≡(X_(n), Y_(n)) and {right arrow over (C)}_(n)≡C_(n)(1, 1), substituting for |X₂ ^((n))

→X_(n),|Y₂ ^((n))

→Y_(n) and |C₂ ^((n))

→C_(n) and defining the matrices M≡cos 2θI+M₁ with M₁≡cos 2θσ_(x)+iσ_(y) the recurrence equations (8.25) subject to the initial condition X₁=Y₁=C₁ can be transformed into the simple matrix equation

{right arrow over (Z)} _(n) =M{right arrow over (Z)} _(n−1) +{right arrow over (C)} _(n)  (8.26)

[0416] Equation (8.26) can be solved using standard techniques to give $\begin{matrix} {{\overset{\rightarrow}{Z}}_{n} = {M^{n}\left\lbrack {{\sum\limits_{k = 0}^{\lbrack{{({N - 1})}/2}\rbrack}{M^{- {({{2k} + 1})}}{\overset{\rightarrow}{C}}_{1}}} + {\sum\limits_{k = 0}^{\lbrack{N/2}\rbrack}{M^{{- 2}k}{\overset{\rightarrow}{C}}_{2}}}} \right\rbrack}} & (8.27) \end{matrix}$

[0417] (with [k] being the integer part of k), and where the n-th powers of the matrices M and M⁻¹ are given by $\begin{matrix} {M^{\pm n} \equiv {{\cos \quad 2n\quad \theta \quad I} \pm {\frac{\sin \quad 2n\quad \theta}{\sin \quad 2\theta}M_{1}}}} & (8.28) \end{matrix}$

[0418] Inserting equation (8.28) into equation (8.27), one obtains $\begin{matrix} {{{{\overset{->}{Z}}_{n} = {\frac{1}{\sin \quad 2\theta}\left\{ {A + B} \right\}}},{where}}{A = {{\sin \left\lbrack \frac{N + 1}{2} \right\rbrack}2{\theta \left\lbrack {{{\cos \left( {N - \left\lbrack \frac{N + 1}{2} \right\rbrack} \right)}2{\theta \cdot I}} + {\frac{{\sin \left( {N - \left\lbrack \frac{N + 1}{2} \right\rbrack} \right)}2\theta}{\sin \quad 2\theta}M_{1}}} \right\rbrack}{\overset{->}{C}}_{1}}}{B = {{\sin \left\lbrack \frac{N}{2} \right\rbrack}2{\theta \left\lbrack {{{\cos \left( {N - \left\lbrack \frac{N}{2} \right\rbrack - 1} \right)}2{\theta \cdot I}} + {\frac{{\sin \left( {N - \left\lbrack \frac{N}{2} \right\rbrack - 1} \right)}2\theta}{\sin \quad 2\theta}M_{1}}} \right\rbrack}{\overset{->}{C}}_{2}}}} & (8.29) \end{matrix}$

[0419] and, finally, from equation (8.24), the formula for the n-th iteration of G_(H) on the entangled state |ψ

reads $\begin{matrix} \left. \left. {{\left. G_{H}^{n} \middle| \Psi \right.\rangle} = {{\frac{1}{\sqrt{N}}\left\lbrack \left. {{G\rangle} + \left( {- 1} \right)^{n}} \middle| B \right.\rangle \right.} - {\frac{2}{N}\frac{\sin \quad 2n\quad \theta}{\sin \quad 2\theta}\left\{ \left| G_{1} \right.\rangle \right.\left( {{\frac{\tan \quad n\quad \theta}{\tan \quad \theta}{G_{2}\rangle}} - {B_{2}\rangle}} \right)} + {{B_{1}\rangle}D}}} \right\} \right\rbrack & (8.30) \end{matrix}$

[0420] where

D=(|G ₂

+(−1)^(n) tan θ(tan nθ)⁽⁻¹ ^(n) |B₂

)

[0421] Similar to the case of the original Grover's algorithm acting on an initial flat superposition of states, G_(H) ^(n)|ψ

is periodic in n with period π/θ, and a Fourier analysis can still be performed in order to find an estimate of θ (as shown below). Moreover, it is easy to check that for the case when |f(a)

=const, corresponding to a given flat and non-entangled initial superposition of states, one can recover the standard Grover's result, i.e.

G _(H) ^(n)|ψ

sin [(2n+1)θ]|ω

+cos[(2n+1)θ]|r

  (8.31)

[0422] where |ω

≡|G₁

/{square root}{square root over (t)} and |r

≡B₁

/{square root}{square root over (N−t)}.

[0423] A general normalization is given by ${{\sum\limits_{a = 0}^{N - 1}{{\quad a\rangle}}^{2}} = N},{{\sum\limits_{a = 0}^{N - 1}{{\quad {f(a)}\rangle}}^{2}} = N^{\prime}},$

[0424] and substituting for

[0425]  |f′(g)

≡f(g)

/{square root}{square root over (N′)}, |G′

≡|G

/{square root}{square root over (N′)}, |G₂′

|G₂

/{square root}{square root over (N′)} (and similarly, substituting everywhere g→b, for |f′(b)

, |B′

and |B₂′

), one can write the initial normalized and entangled state as |ψ

≡|G′

+|B′

, and rewrite equation (8.30) as $\begin{matrix} {{\left. G_{H}^{n} \middle| \Psi \right.\rangle} \equiv {{\sum\limits_{g}{{g\rangle}{\mu_{g}^{(n)}\rangle}}} + {\sum\limits_{b}{{b\rangle}{\mu_{b}^{(n)}\rangle}}}}} & (8.32) \end{matrix}$

[0426] where the quantities $\begin{matrix} \left. {\left. {{\mu_{g}^{(n)}\rangle} \equiv {{{f^{\prime}(g)}\rangle} - {\frac{\sin \quad 2n\quad \theta}{\sin \quad 2\theta}\left\lbrack \left. {\tan \quad n\quad {\theta sin2}\quad \theta} \middle| {\overset{\_}{G}}_{2}^{\prime {(0)}} \right.\rangle \right.} - {2\cos^{2}\theta {{\overset{\_}{B}}_{2}^{\prime {(0)}}\rangle}}}} \right\rbrack {{\mu_{b}^{(n)}\rangle} \equiv {{\left( {- 1} \right)^{n}{{f^{\prime}(b)}\rangle}} - {\frac{\sin \quad 2n\quad \theta}{\sin \quad 2\theta}\left\lbrack \left. {2\sin^{2}\theta} \middle| {\overset{\_}{G}}_{2}^{\prime {(0)}} \right.\rangle \right.} + {\left( {- 1} \right)^{n}\sin \quad 2{\theta \left( {\tan \quad n\quad \theta} \right)}^{{({- 1})}^{n}}{{\overset{\_}{B}}_{2}^{\prime {(0)}}\rangle}}}}} \right\rbrack & (8.33) \end{matrix}$

[0427] have been introduced and, by definition, |{overscore (G)}₂′⁽⁰⁾

≡γ_(G)|G₂′

, |{overscore (B)}₂′⁽⁰⁾

≡γ_(B)|B₂′

with γ_(G)≡1/t and γ_(B)≡1/(N−t). Further defining the averages and variances $\begin{matrix} {{{{{{{{\left| {\overset{\_}{G}}_{2}^{\prime {(n)}} \right.\rangle} \equiv {\gamma_{G}{\sum\limits_{g}{\mu_{g}^{(n)}\rangle}}}}\left. {{{\Delta \quad G_{2}^{\prime}}\rangle} \equiv} \middle| {f^{\prime}(g)} \right.}\rangle} - {\overset{\_}{G}}_{2}^{\prime {(0)}}}\rangle}\sigma_{G}^{2{(n)}}} \equiv {\sum\limits_{g}{{{{\mu_{g}^{(n)}\rangle} -}}{{\overset{\_}{G}}_{2}^{\prime {(n)}}}^{2}}}} & (8.34) \end{matrix}$

[0428] and similarly for |{overscore (B)}₂′^((n))

, |ΔB₂′

and σ_(B) ^(2(n)) (after the substitution g→b), one can easily show that $\begin{matrix} {\left. {{{{\left. {\left. {{{{\left| {\overset{\_}{G}}_{2}^{\prime {(n)}} \right.\rangle} = \left. {\cos \quad 2n\quad \theta} \middle| {\overset{\_}{G}}_{2}^{\prime {(0)}} \right.}\rangle} + {\cot \quad {\theta sin}\quad 2n\quad \theta}} \middle| {\overset{\_}{B}}_{2}^{\prime {(0)}} \right.\rangle} \middle| {\overset{\_}{B}}_{2}^{\prime {(n)}} \right.\rangle} = \left. {\cos \quad 2n\quad \theta} \middle| {\overset{\_}{B}}_{2}^{\prime {(0)}} \right.}\rangle} - {\tan \quad \theta}} \middle| {\overset{\_}{G}}_{2}^{\prime {(0)}} \right.\rangle} & (8.35) \end{matrix}$

[0429] which, inserted into Eqs.(8.33), give $\begin{matrix} {\left. {{{{\left. {{{{\mu_{g}^{(n)}\rangle} = \left| {\overset{\_}{G}}_{2}^{\prime {(n)}} \right.}\rangle} +} \middle| {\Delta \quad G_{2}^{\prime}} \right.\rangle}{{\mu_{b}^{(n)}\rangle} = \left| {\overset{\_}{B}}_{2}^{\prime {(n)}} \right.}}\rangle} + \left( {- 1} \right)^{n}} \middle| {\Delta \quad B_{2}^{\prime}} \right.\rangle} & (8.36) \end{matrix}$

[0430] and, finally, from Eqs.(8.36) one finds the constants of the motion. $\begin{matrix} {\sigma_{G}^{2{(n)}} = {{{\gamma_{G}{\sum\limits_{g}{\langle\left. {\Delta \quad G_{2}^{\prime}} \middle| {\Delta \quad G_{2}^{\prime}} \right.\rangle}}} \equiv {\sigma_{G}^{2}\sigma_{B}^{2{(n)}}}} = {\gamma_{B}{\sum\limits_{g}{\langle{{\Delta \quad B_{2}^{\prime}{{\Delta \quad B_{2}^{\prime}}\rangle}} \equiv \sigma_{B}^{2}}}}}}} & (8.37) \end{matrix}$

[0431] Defining the quantities $\begin{matrix} \begin{matrix} {{{F_{\pm}^{(n)}\rangle} \equiv {{{\overset{\_}{B}}_{2}^{\quad {\prime \quad {(n)}}}\rangle} \pm {\quad \tan \quad \theta {{\overset{\_}{G}}_{2}^{\quad {\prime \quad {(n)}}}\rangle}}}},} \\ {\alpha \equiv \sqrt{\frac{{\langle\left. F_{+}^{(0)} \middle| F_{+}^{(0)} \right.\rangle} + {\langle\left. F_{-}^{(0)} \middle| F_{-}^{(0)} \right.\rangle}}{2}}} \\ {{\exp \left\lbrack {2\quad \quad \varphi} \right\rbrack} \equiv \frac{\langle\left. F_{+}^{(0)} \middle| F_{+}^{(0)} \right.\rangle}{2\quad \alpha^{2}}} \end{matrix} & (8.38) \end{matrix}$

[0432] and introducing the angle ω≡2θ, makes it possible to rewrite the norms of the states (8.37) as $\begin{matrix} \begin{matrix} {{\langle\left. {\overset{\_}{G}}_{2}^{\quad {\prime \quad {(n)}}} \middle| {\overset{\_}{G}}_{2}^{\quad {\prime \quad {(n)}}} \right.\rangle} = {\frac{\alpha^{2}}{2}\cot^{2}{\frac{\omega}{2}\left\lbrack {1 - {\cos \quad 2\left( {{n\quad \omega} - \varphi_{R}} \right)^{{- 2}\quad \varphi_{I}}}} \right\rbrack}}} \\ {{\langle\left. {\overset{\_}{B}}_{2}^{\quad {\prime \quad {(n)}}} \middle| {\overset{\_}{B}}_{2}^{\quad {\prime \quad {(n)}}} \right.\rangle} = {\frac{\alpha^{2}}{2}\left\lbrack {1 + {\cos \quad 2\left( {{n\quad \omega} - \varphi_{R}} \right)^{{- 2}\quad \varphi_{I}}}} \right\rbrack}} \end{matrix} & (8.39) \end{matrix}$

[0433] where φ≡φ_(R)+iφ₁. Since, from the definition (8.37), $\begin{matrix} {\sigma_{G}^{2} = {{\gamma_{G}{\sum\limits_{g}{\langle\left. \mu_{g}^{(n)} \middle| \mu_{g}^{(n)} \right.\rangle}}} - {\langle\left. {\overset{\_}{G}}_{2}^{\quad {\prime \quad {(n)}}} \middle| {\overset{\_}{G}}_{2}^{\quad {\prime \quad {(n)}}} \right.\rangle}}} & (8.40) \end{matrix}$

[0434] and similarly for σ_(B) ₂, the probability of picking up a “good” item after n iterations of G_(H) over the initial entangled state |{overscore (ψ)}

, defined as ${{P(n)} \equiv {\sum\limits_{g}{\langle\left. \mu_{g}^{(n)} \middle| \mu_{g}^{(n)} \right.\rangle}}},$

[0435] can be finally written, using equations (8.36),(8.39) and (8.40), as $\begin{matrix} \begin{matrix} {{P(n)} \equiv {P_{AV} - {\Delta \quad P\quad \cos \quad 2\left( {{n\quad \omega} - \varphi_{R}} \right)\quad ^{{- 2}\quad \varphi_{I}}}}} \\ {P_{AV} \equiv {1 - {\Delta \quad P} - {N\quad \cos^{2}\frac{\omega}{2}\sigma_{B}^{2}}}} \\ {{\Delta \quad P} \equiv {\frac{N}{2}\cos^{2}{\frac{\omega}{2}\left\lbrack {{\langle\left. {\overset{\_}{B}}_{2}^{\quad {\prime \quad {(0)}}} \middle| {\overset{\_}{B}}_{2}^{\quad {\prime \quad {(0)}}} \right.\rangle} + {\tan^{2}\frac{\omega}{2}{\langle\left. {\overset{\_}{G}}_{2}^{\quad {\prime \quad {(0)}}} \middle| {\overset{\_}{G}}_{2}^{\quad {\prime \quad {(0)}}} \right.\rangle}}} \right\rbrack}}} \end{matrix} & (8.41) \end{matrix}$

[0436] The probability P(n) can be found to be maximized, P_(max)=P_(AV)+ΔPe^(−2φ) ^(_(J)) at n_(j)=[π(2j+1)/2+φ_(R)]/ω (with jεZ. Moreover, one can find a “good” item |g

(i.e., have P_(max)=1) either provided that t=N (trivial case) or that the following conditions on the moment of the amplitudes of the initial distribution of states are satisfied

φ_(I)=0, σ_(b) ²=0  (8.42)

[0437] i.e., for [Re

{overscore (G)}₂′⁽⁰⁾|{overscore (B)}₂′₍₀₎

]²=

{overscore (G)}₂′⁽⁰⁾|{overscore (G)}₂′⁽⁰⁾

{overscore (G)}₂′⁽⁰⁾|{overscore (G)}₂′⁽⁰⁾

(which can be true, e.g., if |{overscore (G)}₂′⁽⁰⁾

=c|{overscore (G)}₂′⁽⁰⁾

with cεR) and for γ_(B)

B′|B′

=

{overscore (G)}₂′⁽⁰⁾|{overscore (G)}₂′⁽⁰⁾

. In particular, for n=n_(j), $\left. {{G_{H}^{nj}{\overset{\_}{\psi}\rangle}} = {\sum\limits_{g}{{{g\rangle}\left\lbrack {{{f^{\prime}(g)}\rangle} - {\left( {1 + {\left( {- 1} \right)^{j}\sin \quad \varphi_{R}}} \right){{\overset{\_}{G}}_{2}^{\quad {\prime \quad {(0)}}}\rangle}} + {\left( {- 1} \right)^{j}\cos \quad \varphi_{R}\cot \quad \theta}} \right)}{{\overset{\_}{B}}_{2}^{\quad {\prime \quad {(0)}}}\rangle}}}} \right\rbrack$

[0438] Of course, the unitary nature of the operator prevents one from naively getting only the exact contribution from the initial “unperturbed” entangled states |f′(g)

in G_(H) ^(nj)|{overscore (ψ)}

. However, as some elementary algebra can show, it is still possible, for instance in the case of a large enough number of “good” items g, i.e. for t/N ≦O(1), to make the amplitude contribution coming from the other entangled states |{overscore (G)}₂′⁽⁰⁾

and {overscore (B)}₂′⁽⁰⁾

relatively small compared to that of |f′g)

, if j is even and provided that

{overscore (G)}₂′⁽⁰⁾|{overscore (G)}₂′⁽⁰⁾

/

{overscore (B)}₂′⁽⁰⁾

|{overscore (B)}₂′⁽⁰⁾

{overscore (>)}O(1).

[0439] Finally, it is also straightforward to show that the particular case of an initial state with arbitrarily complex amplitudes can be recovered provided one makes the substitutions |f(g)

→{square root}{square root over (N)}k_(i),|f(b)

→{square root}{square root over (N)}I_(j), t→r and n→t, with k_(i) and l_(i) complex numbers. The maximum probability of success P_(max) can be achieved again after n_(j) steps, and corresponds to certainty if one has $\begin{matrix} \begin{matrix} {{{\overset{\_}{k}(t)} \equiv {\sum\limits_{i = 1}^{r}{{{k_{i}(t)}/r}\quad {and}\quad {\overset{\_}{l}(t)}}} \equiv {\sum\limits_{i = 1}^{N - r}{{l_{i}(t)}/\left( {N - r} \right)}}}:} \\ {{\sigma_{l}^{2} = 0},{{{Im}\left\lbrack {{{\overset{\_}{k}}^{*}(0)}{\overset{\_}{l}(0)}} \right\rbrack} = 0}} \end{matrix} & (8.43) \end{matrix}$

[0440] i.e. when l₁(t)=l₂(t)=l_(N−r)(t)={overscore (l)}(0)=const (constant of the motion) and, using polar coordinates such that {overscore (k)}(0)=ρ_({overscore (k)})exp [iχ_({overscore (k)})] and {overscore (l)}(0)=ρ_({overscore (l)})exp [iχ_({overscore (l)})], when χ_({overscore (l)})=χ_({overscore (l)})±mπ(mεZ).

[0441] The algorithm COUNT, described below, is used for the case of an initial flat superposition of states. The COUNT algorithm essentially exploits Grover's unitary operation G_(H), already discussed in the previous section, and Shor's Fourier operation F for extraction the periodicity of a quantum state, defined as (note that one can write the flat superposition as $\begin{matrix} \begin{matrix} {{W{0\rangle}} = {{F{0\rangle}} = {\sum\limits_{a = 0}^{N - 1}{{a\rangle}/\sqrt{N}}}}} \\ {{F{a\rangle}} = {\frac{1}{\sqrt{k}}{\sum\limits_{c = 0}^{k - 1}{^{2\quad \quad \pi \quad a\quad {c/k}}{c\rangle}}}}} \end{matrix} & (8.44) \end{matrix}$

[0442] The COUNT algorithm involves the following sequence of operations: $\begin{matrix} {{{\left. 1 \right)\quad \left( {W{0\rangle}} \right)\left( {W{0\rangle}} \right)} = {\sum\limits_{m = 0}^{P - 1}{{m\rangle}{\sum\limits_{a = 0}^{N - 1}{a\rangle}}}}};} \\ \left. \left. 2 \right)\quad\rightarrow{\left( {F \otimes I} \right)\left\lbrack {\sum\limits_{m = 0}^{P - 1}{{m\rangle}G_{H}^{m}{\sum\limits_{a = 0}^{N - 1}{a\rangle}}}} \right\rbrack} \right. \\ \left. \left. 3 \right)\quad\rightarrow{{measure}{{m\rangle}.}} \right. \end{matrix}$

[0443] Since the amplitude of the set of the good states |g

after m iterations of G_(H) on |a

is a periodic function of m, the estimate of such a period by use of the Fourier analysis and the measurement of the ancilla qubit |m

will give information on the size t of this set, on which the period itself depends. The parameter P determines both the precision of the estimate t and the computational complexity of the COUNT algorithm (which requires P) iterations of G_(H).

[0444] Using the more general normalization ${{\sum\limits_{a = 0}^{N - 1}{{a\rangle}}^{2}} = N},{{\sum\limits_{a = 0}^{N - 1}{{{f(a)}\rangle}}^{2}} = N^{\prime}},{{\sum\limits_{a = 0}^{N - 1}{{{f(g)}\rangle}}^{2}} \equiv N_{1}}$

[0445] (with 0<N₁<N′) and the initial (normalized) entangled state |{overscore (ψ)}

.) tensor the state |{overscore (ψ)}

with an ancillary qubit |0

and act on this qubit with a Walsh-Hadamard transform W in order to obtain $\begin{matrix} {{{\overset{\_}{\psi}}_{1}\rangle} \equiv {\frac{\sum\limits_{m = 0}^{P - 1}{m\rangle}}{\sqrt{P}}{\overset{\_}{\psi}\rangle}}} & (8.45) \end{matrix}$

[0446] Then act on |{overscore (ψ)}

in equation (8.45) with an |m

—“controlled” Grover operation G_(H) ^(m) and on |m

with a Fourier transform F, thus getting $\begin{matrix} {{{\overset{\_}{\psi}}_{2}\rangle} \equiv {\frac{\sum\limits_{m,{n = 0}}^{P - 1}{^{2\quad \pi \quad \quad m\quad {n/P}}{n\rangle}}}{\sqrt{P}}G_{H}^{m}{\overset{\_}{\psi}\rangle}}} & (8.46) \end{matrix}$

[0447] As in the standard COUNT algorithm, requiring that the time needed to compute the repeated Grover operations G_(H) ^(m) is polynomial in log k, leads to the choice P≅O[poly(log k)] in equation (8.46).

[0448] Summing over n in equation (8.46), after some elementary algebra gives (taking, without loss of generality, P even) $\begin{matrix} {{{\overset{\_}{\psi}}_{3}\rangle} \equiv {\frac{1}{\sqrt{N^{\prime}}}\left\lbrack {{{0\rangle}{A\rangle}} + {{{P/2}\rangle}{B\rangle}} + {\frac{1}{2N}{\sum\limits_{m = 0}^{P - 1}{{m\rangle}\left( {{\varphi_{m}^{+}s_{m}^{+}{C_{+}\rangle}} + {\varphi_{m}^{-}s_{m}^{-}{C_{-}\rangle}}} \right)}}}} \right\rbrack}} & (8.47) \end{matrix}$

[0449] where the following quantities have been introduced: $\begin{matrix} {{s_{m}^{\pm} = \frac{\sin \quad {\pi \left( {m \pm f} \right)}}{P\quad {\sin \left\lbrack {{\pi \left( {m \pm f} \right)}/P} \right\rbrack}}};{\varphi_{m}^{\pm} = ^{\quad {\pi {({m \pm f})}}{{({ - 1})}/P}}};{f \equiv \frac{P\quad \theta}{\pi}};{0 \leq f \leq {P/2}}} & (8.48) \end{matrix}$

[0450] and where the states |A

, |B

, |C

are mutually orthogonal and given by $\begin{matrix} \begin{matrix} {A\rangle} & \equiv & {{G\rangle} - {{G_{1}\rangle}{{G_{2}\rangle}/N}\quad \sin^{2}\theta}} \\ {B\rangle} & \equiv & {{B\rangle} - {{B_{1}\rangle}{{B_{2}\rangle}/N}\quad \cos^{2}\theta}} \\ {C_{\pm}\rangle} & \equiv & {\left\lbrack {{G_{1}\rangle} \pm {\quad \tan \quad \theta {B_{1}\rangle}}} \right\rbrack \times {\left\lbrack {{G_{2}\rangle} \mp {\quad \tan \quad \theta {B_{2}\rangle}}} \right\rbrack/\sin^{2}}\theta} \end{matrix} & (8.49) \end{matrix}$

[0451] At this point one can rewrite formula (8.47) in the general case when f is not an integer, distinguishing three possible cases. In particular, when 0<f<1

|{overscore (104 )}₃

=|0

|α₁

+|1

|b ₁

+|P−1

|c ₁

+|R ₁

  (8.50)

[0452] where |R₁

is an “error” term including all the other states in |{overscore (104 )}₃

not containing the ancillary qubits |0

, |1

, |P−1

. One can show that the total probability amplitude in the first three terms (i.e., the probability that, in a measurement of the first ancillary qubit, one obtains any of the states |0

, |1

, |P−1

) is given by $\begin{matrix} \begin{matrix} {W_{1} \equiv {{\langle\left. a_{1} \middle| a_{1} \right.\rangle} + {\langle\left. b_{1} \middle| b_{1} \right.\rangle} + {\langle\left. c_{1} \middle| c_{1} \right.\rangle}}} \\ {= {\frac{N_{1}}{N^{\prime}}\left\{ {1 + {{\left\lbrack {{{\langle\left. G_{2} \middle| G_{2} \right.\rangle}\left( {\Sigma_{1} - 1} \right)} + {\tan^{2}\theta {\langle\left. B_{2} \middle| B_{2} \right.\rangle}\Sigma_{1}}} \right\rbrack/N_{1}}N\quad \sin^{2}\theta}} \right\}}} \end{matrix} & (8.51) \end{matrix}$

[0453] with Σ₁ ≡ (s₀⁺)² + (s₁⁺)² + (s_(P − 1)⁺)²,

[0454] and it can be shown that 8/π² < Σ₁ ≤ 1.

[0455] When 1<f<P/2, instead,

|{overscore (ψ)}₃ =|P/2−1

|α₂

+|P/2

|b ₂

+P/2+1

|c ₂

+R ₂

  (8.52)

[0456] where the meaning of |R₂) is as in equation (8.50) and the total probability amplitude in the first three terms is now given by $\begin{matrix} \begin{matrix} {W_{2} \equiv {{\langle\left. a_{2} \middle| a_{2} \right.\rangle} + {\langle\left. b_{2} \middle| b_{2} \right.\rangle} + {\langle\left. c_{2} \middle| c_{2} \right.\rangle}}} \\ {= {1 - \frac{N_{1}}{N^{\prime}} + {{\left\lbrack {{{\langle\left. G_{2} \middle| G_{2} \right.\rangle}\Sigma_{2}} + {\tan^{2}\theta {\langle\left. B_{2} \middle| B_{2} \right.\rangle}\left( {\Sigma_{2} - 1} \right)}} \right\rbrack/{NN}^{\prime}}\quad \sin^{2}\theta}}} \end{matrix} & (8.53) \end{matrix}$

[0457] with Σ₂ ≡ (s_(P/2)⁺)² + (s_(P/2 − 1)⁺)² + (s_(P/2 + 1)⁺)²,

[0458] and it can be shown that 8/π² < Σ₂ ≤ 1.

[0459] Finally, in the most general case in which 1<f<P/2−1

|{overscore (ψ)}₃ =|f ⁻

|α₃

+|P−f ⁻

|b ₃

+|f ⁺

|c ₃

+|P−f ⁺

|d ₃

+R ₃

  (8.54)

[0460] where |R₃

is the usual “correction” term and, by definition f⁻≡[f]+δf and f⁺≡f⁻+1 with 0<δf<1.

[0461] The total probability amplitude in the first four terms in this case is given by $\begin{matrix} \begin{matrix} {W_{3} \equiv {{\langle\left. a_{3} \middle| a_{3} \right.\rangle} + {\langle\left. b_{3} \middle| b_{3} \right.\rangle} + {\langle\left. c_{3} \middle| c_{3} \right.\rangle} + {\langle\left. d_{3} \middle| d_{3} \right.\rangle}}} \\ {{= {\frac{\left( {{\langle\left. G_{2} \middle| G_{2} \right.\rangle} + {\tan^{2}\theta {\langle\left. B_{2} \middle| B_{2} \right.\rangle}}} \right)}{{NN}^{\quad \prime}\sin^{2}\theta}\Sigma_{3}}},} \end{matrix} & (8.55) \end{matrix}$

Σ₃ ≡ (s_(f⁺)⁺)² + (s_(f⁻)⁺)² + (s_(P − f⁺)⁺)² + (s_(P − f⁻)⁺)²,

[0462] and again 8/π² < Σ₃ ≤ 1.

[0463] The final step of the COUNT algorithm involves measuring the first ancillary qubit in the state |{overscore (ψ)}₃

. To find one of the ancillary qubits |0

, |1

, |P−1

or |P/2±1

, |P/2) or |f_(±)

, |P−f_(±)

, respectively, for the three cases, and, therefore, still be able to evaluate the number t of “good” states from sin θ={square root}{square root over (t/N)} and equation (8.48) even in the case of an initial entangled state with the same probability as in the case of an initial flat superposition of states, it is desirable to impose the condition

W _(t)≧1//2  (8.56)

[0464] The probability can be made exponentially close to one by repeating the whole algorithm many times and using the majority rule. The probabilities W_(i) can be increased, e.g. by introducing R extra ancillary qubits |m₁

. . . |m_(R)

and then acting with a |m₁

. . . |m_(R)

—“controlled” G_(H) ^(m) operation on the state |{overscore (ψ)}

.)

[0465] Taking for simplicity N=N′ in Equation (8.55) for general case 1<f<P/2-1, Equation (8.56) would lead to the condition on the initial averages $\begin{matrix} {{\frac{\langle\left. {\overset{\_}{G}}_{2}^{\prime \quad {(0)}} \middle| {\overset{\_}{G}}_{2}^{\prime \quad {(0)}} \right.\rangle}{\gamma_{G}} + \frac{\langle\left. {\overset{\_}{B}}_{2}^{\prime \quad {(0)}} \middle| {\overset{\_}{B}}_{2}^{\prime \quad {(0)}} \right.\rangle}{\gamma_{B}}} > \left( {2\Sigma_{3}} \right)^{- 1} > {1/2}} & (8.57) \end{matrix}$

[0466] which, for example, upon the choice |{overscore (G)}₂′⁽⁰⁾

=c|{overscore (B)}₂′⁽⁰⁾

, would require that c²>(2−1/γ_(B))γ_(G). Furthermore, since in general f is not an integer, the measured {tilde over (f)} will not match exactly the true value of f and, defining {tilde over (t)}≡N sin² {tilde over (θ)}, with {tilde over (θ)}={tilde over (θ)}({tilde over (f)}), gives, for the error over t, the same estimate, i.e. $\begin{matrix} {{{\Delta \quad t}}_{\exp} \equiv {{\overset{\sim}{t} - t}} \leq {\pi \quad {\frac{N}{P}\left\lbrack {\frac{\pi}{P} + {2\sqrt{\frac{t}{N}}}} \right\rbrack}}} & (8.58) \end{matrix}$

[0467] so that the accuracy will always remain similar in the cases of an initial unentangled or entangled state.

[0468] In the most general case when Grover's algorithm is to be used as a subroutine in a bigger quantum network when the generic form of the initial state is unknown and arbitrary entangled superposition of qubits. In particular, one can preserve a good success probability and a high accuracy in determining the number of “good” items even if the initial state is entangled, again provided that some conditions are satisfied by the averages and variances of the amplitude distribution of the initial state.

[0469] Consider the situation where the number of objects satisfying the search criterion is greater than 1. Let a database {w_(i)|=1, 2, . . . , N}, with corresponding orthonormal eigenstates {|w_(i)

|i=1, 2, . . . , N} in the quantum computing, be given. Let f be an oracle function such that ${f\left( w_{j} \right)} = \left\{ {\begin{matrix} {1,} & {{j = 1},2,\ldots \quad,l,} \\ {0,} & {{j = {l + 1}},{l + 2},\ldots \quad,N} \end{matrix}.} \right.$

[0470] Here the l elements {w_(j)|1≦j≦l} are desired objects of search. All N items w, are subjected to some unknown permutation, which is not necessarily known explicitly. Let

be the Hilbert space generated by the orthonormal basis B={|w_(j)

|j=1, . . . , N}. Let Λ=span{|w_(j)

|1≦j≦1} be the subspace of

spanned by the vectors of the good objects. (To avoid introducing another layer of subscripts, it is assumed that these good objects are the first l items.)

[0471] Now, define a linear operation in terms of the oracle function as follows:

I _(Λ)=(−1)^(f(w) ^(_(j)) ⁾ |w _(j)

j=1, 2, . . . , N.  (9.1)

[0472] Then since I_(Λ) is linear, the extension of I_(Λ) to the entire space H is unique, with an “explicit” representation $\begin{matrix} {{I_{\Lambda} = {I - {2\quad {\sum\limits_{j = 1}^{l}{{w_{j}\rangle}{\langle w_{j}}}}}}},} & (9.2) \end{matrix}$

[0473] where I is the identity operator on

. I_(Λ) is the operator of rotation (by π) of the phase of the subspace Λ.

[0474] The explicitness of (9.2) is misleading because explicit knowledge of {|w_(j)

|1 ≦j≦l} in (9.2) is not available. Nevertheless, (9.2) is a well-defined (and unitary) operator on

because of (9.1).

[0475] Now again define |s

as $\begin{matrix} {{s\rangle} = {{\frac{1}{\sqrt{N}}{\sum\limits_{i = 1}^{N}{w_{i}\rangle}}} = {{\frac{1}{\sqrt{N}}{\sum\limits_{i = 1}^{l}{w_{i}\rangle}}} + {\sqrt{\frac{N - l}{N}}{r\rangle}}}}} & (9.3) \end{matrix}$

[0476] where now ${r\rangle} = {\frac{1}{\sqrt{1 - \frac{l}{N}}}{\left( {{s\rangle} - {\frac{1}{\sqrt{N}}{\sum\limits_{i = 1}^{l}{w_{i}\rangle}}}} \right).}}$

[0477] As before, T_(s)=I−2|s

s|. Note that I_(s) is unitary and hence quantum-mechanically admissible. I_(s) is explicitly known, constructible with the so-called Walsh-Hadamard transformation.

[0478] Let {tilde over (Λ)}=span{Λ∪|r

}. Then {|w_(i)

, |r

|i=1, 2, . . . , l} forms an orthonormal basis of {tilde over (Λ)}. The orthogonal direct sum H={tilde over (Λ)}⊕{tilde over (Λ)}^(⊥) is an orthogonal invariant decomposition for both operators I_({tilde over (Λ)}) and I_(s). The restriction of I_(s) of {tilde over (Λ)}^(⊥) is P_({tilde over (Λ)}⊥), the orthogonal projection operator onto {tilde over (Λ)}^(⊥). From (9.3), $\begin{matrix} \begin{matrix} {I_{s} = {I - {{2\left\lbrack {{\frac{1}{\sqrt{N}}{\sum\limits_{i = 1}^{l}{w_{i}\rangle}}} + {\sqrt{\frac{N - l}{N}}{r\rangle}}} \right\rbrack}\left\lbrack {{\frac{1}{\sqrt{N}}{\sum\limits_{j = 1}^{l}{\langle w_{j}}}} + {\sqrt{\frac{N - l}{N}}{\langle r}}} \right\rbrack}}} \\ {= {\left\lbrack {{\sum\limits_{i = 1}^{l}{{w_{i}\rangle}{\langle w_{i}}}} + {{r\rangle}{\langle r}} + P_{{\overset{\sim}{\Lambda}}^{\bot}}} \right\rbrack -}} \\ {{\left\{ {{\frac{2}{N}{\sum\limits_{i = 1}^{l}{\sum\limits_{j = 1}^{l}{{w_{i}\rangle}{\langle w_{j}}}}}} + {\frac{2\sqrt{N - l}}{N}\left\lbrack {\sum\limits_{i = 1}^{l}\left( {{{w_{i}\rangle}{\langle r}} + {{r\rangle}{\langle w_{i}}}} \right)} \right\rbrack}} \right\} -}} \\ {{2\left( \frac{N - l}{N} \right){r\rangle}{\langle r}}} \\ {= {{\sum\limits_{i = 1}^{l}{\sum\limits_{j = 1}^{l}{\left( {\delta_{ij} - \frac{2}{N}} \right){w_{i}\rangle}{\langle w_{j}}}}} -}} \\ {{{\frac{2\sqrt{N - l}}{N}\left\lbrack {\sum\limits_{i = 1}^{l}\left( {{{w_{i}\rangle}{\langle r}} + {{r\rangle}{\langle w_{i}}}} \right)} \right\rbrack} + {\left( {\frac{2l}{N} - 1} \right){r\rangle}{\langle r}} + P_{{\overset{\sim}{\Lambda}}^{\bot}}}} \end{matrix} & (9.4) \end{matrix}$

[0479] Furthermore, the conclusion follows: 1) the restriction of I_(s) to {tilde over (Λ)} admits this real unitary matrix representation with respect to the orthonormal basis $\begin{matrix} {{\left. {{{{{{\left\{ {{w_{1}\rangle},} \right.w_{2}}\rangle},\ldots \quad,{w_{1}\rangle},}}r}\rangle} \right\} \text{:}\quad {A = \left\lbrack a_{ij} \right\rbrack_{{({l + 1})} \times {({l + 1})}}}},} & (9.5) \end{matrix}$

$\begin{matrix} {a_{ij} = \left\{ \begin{matrix} {{\delta_{ij} - \frac{2}{N}},} & {{1 \leq i},{j \leq l}} \\ {{{- \frac{2\sqrt{N - l}}{N}}\left( {\delta_{i,{l + 1}} + \delta_{j,{l + 1}}} \right)},} & {{i = {{l + {1\quad {or}\quad j}} = {l + 1}}},{i \neq j}} \\ {{\frac{2l}{N} - 1},} & {i = {j = {l + 1}}} \end{matrix} \right.} & (9.6) \end{matrix}$

[0480] Consequently, I_(s)|_({tilde over (Λ)}) _(^(⊥)) =I_(s)|_({tilde over (Λ)}) _(^(⊥)) , where I_(s)|_({tilde over (Λ)}) _(^(⊥)) is the identity operator on {tilde over (Λ)}^(⊥).

[0481] The generalized Grover search engine for multi-object search is now constructed as:

U=−I _(s)I_(Λ)  (9.7)

[0482] Substituting (9.2) and (9.4) into (9.7) and simplifying, $\begin{matrix} {U = {{{- I_{s}}I_{\Lambda}} = {\ldots \quad ({simplification})}}} \\ {= {{\sum\limits_{i = 1}^{l}{\sum\limits_{j = 1}^{l}{\left( {\delta_{ij} - \frac{2}{N}} \right){w_{i}\rangle}{\langle w_{j}}}}} +}} \\ {{{\frac{2\sqrt{N - l}}{N}{\sum\limits_{i = 1}^{l}\left( {{{w_{i}\rangle}{\langle r}} - {{r\rangle}{\langle w_{i}}}} \right)}} + {\left( {1 - \frac{2l}{N}} \right){r\rangle}{\langle r}} - P_{{\overset{\sim}{\Lambda}}^{\bot}}}} \end{matrix}$

[0483] The orthogonal direct sum H={tilde over (Λ)}⊕^(⊥) is an invariant decomposition for the unitary operator U, such that the following holds: 1) With respect to the orthonormal basis {|w₁

, |w₂

, . . . , |w₁

, |r

} of {tilde over (Λ)}, the operator U admits the real unitary matrix representation $\begin{matrix} {{\left. U \right|_{\overset{\sim}{}} = \left\lbrack u_{ij} \right\rbrack_{{({l + 1})} \times {({l + 1})}}},} & (9.8) \end{matrix}$

$\begin{matrix} {u_{ij} = \left\{ \begin{matrix} {{\delta_{ij} - \frac{2}{N}},} & {{1 \leq i},{j \leq l}} \\ {{\frac{2\sqrt{N - l}}{N}\left( {\delta_{i,{l + 1}} + \delta_{j,{l + 1}}} \right)},} & {{i = {{l + {1\quad {or}\quad j}} = {l + 1}}},{i \neq j}} \\ {{1 - \frac{2l}{N}},} & {i = {j = {l + 1}}} \end{matrix} \right.} & (9.9) \end{matrix}$

[0484] 2) The restriction of U to {tilde over (Λ)}^(⊥) is −P_({tilde over (Λ)}) _(^(⊥=−I)) _({tilde over (Λ)}) _(^(⊥)) .

[0485] The results above effect a reduction of the problem to an invariant subspace {tilde over (Λ)}. However, {tilde over (Λ)} is a (l+1)—dimensional subspace where l may be fairly large. Another reduction of dimensionality is needed to further simplify the operator U.

[0486] Define

by $\Xi = {\left\{ {{{{{v\rangle} \in {\overset{\sim}{\Lambda}:{v\rangle}}} = {{a{\sum\limits_{i = 1}^{l}{w_{i}\rangle}}} + {b{r\rangle}}}};a},{b \in C}} \right\}.}$

[0487] Let ${\overset{\sim}{w}\rangle} = {\frac{1}{\sqrt{l}}{\sum\limits_{i = 1}^{l}{{w_{i}\rangle}.}}}$

[0488] Then {|{tilde over (w)}

, |r

} forms an orthonormal basis of

. Then

is an invariant two-dimensional subspace of U such that:

[0489] 1) r, sε

; 2) U(

)=

.

[0490] One has the second reduction, to dimensionality 2.

[0491] Using matrix representation (9.8) and (9.9), and the definition of |{tilde over (w)}

as ${\overset{\sim}{w}\rangle} = {\frac{1}{\sqrt{l}}{\sum\limits_{i = 1}^{l}{w_{i}\rangle}}}$

[0492] one obtains the following: With respect to the orthonormal basis {|{tilde over (w)}

, |r

} in the invariant subspace

, U admits the real unitary matrix representation $\begin{matrix} {{U = {\begin{bmatrix} \frac{N - {2l}}{N} & \frac{2\sqrt{l\left( {N - l} \right)}}{N} \\ {- \frac{2\sqrt{l\left( {N - l} \right)}}{N}} & \frac{N - {2l}}{N} \end{bmatrix} = \begin{bmatrix} {\cos \quad \theta} & {\sin \quad \theta} \\ {{- \sin}\quad \theta} & {\cos \quad \theta} \end{bmatrix}}}{\theta \equiv {\sin^{- 1}\left( \frac{2\sqrt{l\left( {N - l} \right)}}{N} \right)}}} & (9.10) \end{matrix}$

[0493] Since |s

ε

, one can calculate U^(m)|s

using (9.10): $\begin{matrix} \begin{matrix} {{U^{m}{s\rangle}} = {{U^{m}\left( {{\frac{1}{\sqrt{N}}{\sum\limits_{i = 1}^{l}{w_{i}\rangle}}} + {\sqrt{\frac{N - l}{N}}{r\rangle}}} \right)}\quad ({by})}} & \\ {= {U^{m}\left( {{\frac{l}{\sqrt{N}}{\overset{\sim}{w}\rangle}} + {\sqrt{\frac{N - l}{N}}{r\rangle}}} \right)}} &  \end{matrix} & {\quad (9.3)} \\ \begin{matrix} {\quad {= {\begin{bmatrix} {\cos \quad \theta} & {\sin \quad \theta} \\ {{- \sin}\quad \theta} & {\cos \quad \theta} \end{bmatrix}\begin{bmatrix} \frac{l}{\sqrt{N}} \\ \sqrt{\frac{N - l}{N}} \end{bmatrix}}}} & {\left( {\alpha \equiv {\cos^{- 1}\left( \frac{l}{\sqrt{N}} \right)}} \right)} \\ {= \begin{bmatrix} {\cos \left( {{m\quad \theta} - \alpha} \right)} \\ {- {\sin \left( {{m\quad \theta} - \alpha} \right)}} \end{bmatrix}} & \\ {= {{{\cos \left( {{m\quad \theta} - \alpha} \right)} \cdot {\overset{\sim}{w}\rangle}} - {{\sin \left( {{m\quad \theta} - \alpha} \right)} \cdot {r\rangle}}}} &  \end{matrix} & (9.11) \end{matrix}$

[0494] Thus, the probability of reaching the state |{tilde over (w)}

after m iterations is

P _(m)=cos² (mθ−α)  (9.12)

[0495] If l<<N, then α is close to $\frac{\pi}{2}$

[0496] and, therefore, equation (9.12) is an increasing function of m initially. This again manifests the notion of amplitude amplification. This probability P_(m) is maximized if [mθ=α], ${{implying}\quad m} = {\left\lbrack \frac{\alpha}{\theta} \right\rbrack = {{the}\quad {integer}\quad {part}\quad {of}\quad {\frac{\alpha}{\theta}.}}}$

[0497] When $\frac{l}{N}$

[0498] is small $\begin{matrix} {{{\theta = {{\sin^{- 1}\left( \frac{2\sqrt{l\left( {N - l} \right)}}{N} \right)}\quad = {{\sin^{- 1}\left( {2{\sqrt{\frac{l}{N}}\left\lbrack {1 - {\frac{1}{2}\frac{l}{N}} - {{\frac{1}{8}\left( \frac{l}{N} \right)^{2}} \pm \cdots}} \right\rbrack}} \right)}\quad = {{2\sqrt{\frac{l}{N}}} + {O\left( \left( \frac{l}{N} \right)^{\frac{2}{3}} \right)}}}}};}{\alpha = {{\cos^{- 1}\left( \frac{l}{\sqrt{N}} \right)} = {\frac{\pi}{2} - {\left\lbrack {\frac{l}{\sqrt{N}} + {O\left( \left( \frac{l}{\sqrt{N}} \right)^{3} \right)}} \right\rbrack.{Therefore}}}}}\quad {{m \approx \frac{\frac{\pi}{2} - \left\lbrack {\frac{l}{\sqrt{N}} + {O\left( \left( \frac{l}{\sqrt{N}} \right)^{3} \right)}} \right\rbrack}{{{2\sqrt{\frac{l}{N}}} + {O\left( \left( \frac{l}{N} \right)^{\frac{3}{2}} \right)}}{\frac{\pi}{4}{\sqrt{\frac{N}{l}}\left\lbrack {1 + {O\left( \frac{l}{N} \right)}} \right\rbrack}}}} =}} & (9.13) \end{matrix}$

[0499] The generalized Grover algorithm for multi-objective search with operator U given by (9.7) has the success probability P_(m)=cos² (mθ−α) of reaching the state |{tilde over (w)}

εΛ after m iterations. For $\frac{l}{N}$

[0500] small, after $m = {\frac{\pi}{4}\sqrt{\frac{N}{l}}}$

[0501] iterations, the probability of reaching |{tilde over (w)}

εΛ is close to 1.

[0502] The result (9.13) is consistent with Grover's original algorithm for single object search with l=1, which has $m \approx {\frac{\pi}{4}{\sqrt{N}.}}$

[0503] Assume that $\frac{l}{N}$

[0504] is small. Then, any search algorithm for l objects, in the form of U_(p)U_(p-1) . . . U₁|w_(l)

, where each U_(j), j=1, 2, . . . , p is an unitary operator and |w_(l)) is an arbitrary superposition state, takes in average $p = {O\left( \sqrt{\frac{N}{l}} \right)}$

[0505] iterations in order to reach the subspace Λ with a positive probability $P > \frac{1}{2}$

[0506] independent of N and l.

[0507] Unfortunately, if the number l of good items is not known in advance, the above does not show when to stop the iteration. Consider stopping the Grover process after j iterations, and, if a good object is not obtained, starting it over again from the beginning. The probability of success after j iteration is cos² (jθ−α). By a well-known theorem of probability theory, if the probability of success in k “trials” is p, then the expected number of trials before success is achieved will be p⁻¹. In the present case, each trial includes j Grover iterations, so the expected number of iterations before success is M[j]=j·sec²(jθ−α). The optimal number of iterations j is obtained by setting the derivative M′[j] equal to zero:

0=M′[j]=sec ²(jθ−α)+2jθsec ²(jθ−α)tan(jθ−α), 2jθ=−cot((jθ−α))  (9.14)

[0508] Now approximate the solution j of (9.14) iteratively as follows. The first order approximation j_(l) for j is obtained by solving $\begin{matrix} \begin{matrix} {j_{1} = {\frac{1}{\theta}\left( {\alpha - \frac{1}{2\quad \theta \quad j_{1}}} \right)}} \\ {j_{1}^{2} = {{\frac{1}{\theta}\alpha \quad j_{1}} - \frac{1}{2\quad \theta^{2}}}} \\ {j_{1}^{3} = {\frac{1}{2\quad \theta}\left( {\alpha + \sqrt{\alpha^{2} - 2}} \right)}} \end{matrix} & (9.15) \end{matrix}$

[0509] Higher order approximations j_(n+1) for n=1, 2, . . . , can be obtained by successive iterations $j_{n + 1} = {\frac{1}{\theta}\left( {\alpha - {\tan^{- 1}\frac{1}{2\quad \theta \quad j_{n}}}} \right)}$

[0510] based on equation (9.14). This process will yield a convergent solution j to (9.14). Information analysis of this problem in Appendix 4 is developed.

[0511] In FIG. 1, the GA 131 produces an optimal solution from single space of solution. The GA 131 compresses the value information from a single solution space with the guarantee of the safety of informative parameters in general signal K of the PID controller 150.

[0512] In FIG. 20 the GA 131 produces a number of solutions as structured (sorted) data for the QGSA 2001. The quantum search algorithm on structured (sorted) data searches for a successful solution with higher probability and greater accuracy than a search on unstructured data. The input to the QGSA 2001 is a set of vectors (string) and the output of the QGSA 2001 is a single vector K. A linear superposition of cells of look-up tables of fuzzy controllers in the QGSA 2001 is produced with the Hadamard Transform H. Components of the vector K are coded as qubits, either |0

or |1

. The Hadamard transform H is formed independent for every qubit a linear superposition of qubits.

[0513] For example, consider a qubit ${0\rangle} = {\begin{pmatrix} 1 \\ 0 \end{pmatrix}.}$

[0514] With a unitary matrix as a Hadamard transform $H = {\frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & {- 1} \end{pmatrix}}$

[0515] Thus $\begin{matrix} \begin{matrix} {{H{0\rangle}} = {{\frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & {- 1} \end{pmatrix}\begin{pmatrix} 1 \\ 0 \end{pmatrix}} = {\frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 1 \end{pmatrix}}}} \\ {= {{\frac{1}{\sqrt{2}}\left( {\begin{pmatrix} 1 \\ 0 \end{pmatrix} + \begin{pmatrix} 0 \\ 1 \end{pmatrix}} \right)} = {\frac{1}{\sqrt{2}}\left( {{0\rangle} + {1\rangle}} \right)}}} \end{matrix} \\ {and} \\ \begin{matrix} {{H{1\rangle}} = {{\frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & {- 1} \end{pmatrix}\begin{pmatrix} 0 \\ 1 \end{pmatrix}} = {\frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ {- 1} \end{pmatrix}}}} \\ {= {{\frac{1}{\sqrt{2}}\left( {\begin{pmatrix} 1 \\ 0 \end{pmatrix} - \begin{pmatrix} 0 \\ 1 \end{pmatrix}} \right)} = {\frac{1}{\sqrt{2}}{\left( {{0\rangle} - {1\rangle}} \right).}}}} \end{matrix} \end{matrix}$

[0516] The QGSA 2001 evolves classical states as cells of look-up tables from the GA 131 or for the FNN 142 into a superposition and therefore cannot be regarded as classical. The collection of qubits is a quantum register. This leads to the tensor product (product in Hilbert space). The tensor product is identified with the Kronecker product of matrices. The next step involves coding of information. As in the classical case, it can be used to encode more complicated information. For example, the binary form of 9 (decimal) is 1001 and after loading a quantum register with this value is done by preparing four qubits in state |9

≡|1001

≡|1

|0

|0

|1

. Consider first the case with two qubits. With the basis |00

≡|0

|0

, |01

≡|0

|1

, |10

≡|1

|0

, |11

≡|1

|1

. If one initialises a quantum memory register so that in the register starts out in the |0z,900 ) state then applies a Hadamard gate to each qubit independently, the net result places the entire n-qubit register in a superposition of all possible bit strings that an n-bit classical register cannot. Thus, using the Hadamard gate, one can effectively enter 2^(n) bit strings into a quantum memory register using only n basic operations.

[0517] Applying qubits individually, one can obtain the superposition of the 2^(n) numbers that can be represented in n bits. $\begin{matrix} {{H{{0\rangle} \otimes H}{{0\rangle} \otimes \cdots}\quad H{0\rangle}} = {\frac{1}{\sqrt{2}}{\left( {{0\rangle} + {1\rangle}} \right) \otimes \frac{1}{\sqrt{2}}}{\left( {{0\rangle} + {1\rangle}} \right) \otimes \cdots \otimes \frac{1}{\sqrt{2}}}\left( {{0\rangle} + {1\rangle}} \right)}} \\ {= \left. {\frac{1}{\sqrt{2^{n}}}\left( {{{00,\ldots \quad,0}\rangle} + {{00,\ldots \quad,1}\rangle} + \cdots + {{11,\ldots \quad,1}\rangle}} \right)}\rightarrow\left( {{in}\quad {the}\quad {base}\quad 2\quad {notation}} \right) \right.} \\ {= \left. {\frac{1}{\sqrt{2^{n}}}\left( {{0\rangle} + {1\rangle} + {3\rangle} + \cdots + {{2^{n} - 1}\rangle}} \right)}\rightarrow{\left( {{in}\quad {the}\quad {base}\quad 10\quad {notation}} \right).} \right.} \end{matrix}$

[0518] Thus one can effectively load exponentially (i.e., 2^(n)) numbers of cells of look-up tables into computer using only polynomial many (i.e., n) basic gate operations.

[0519] In the general case of the PID controller 150, K(t)={k₁(t), k₂(t), k₃(t)}. According to the superposition law for every components k_(i)(t) the Hadamard transform H can be applied to obtain a superposition of “true” |1

) and “false” |0

) signals., Three applications of the Hadamard transform and the vector tensor product gives the logic combination of signals k_(i l (t).)

[0520] The tensor product operations: |10

≡|1

|0

means that the logic joint of signal states, as example, between k^(i) ₁(t) and k^(i) ₂(t) is given for a PID controller. According to the SSCQ 130 the vector tensor product describes the joint probability amplitude of two systems of being in a joint state. The random optimal output of the GA is the single vector K with stochastically independent components k_(i)(t).

[0521] Using a Grover-type quantum search algorithm one can realise more simple robust control with the co-ordination of signals k_(i)(t). The entanglement operator in Grover algorithm searches the quantum (hidden) correlation between the signals k_(i)(t) and with the interference operator (Quantum Fast Fourier Transform—QFFT) chooses the successful robust solution.

[0522] With this method one can check the robustness of the look-up table as a the knowledge base for the fuzzy PID controller. Grover's quantum algorithm is a tool for searching for a solution as one universal robust look-up table from many look-up tables of fuizzy controllers for an intelligent smart suspension control system.

[0523] Consider, for example, the case n=2 and x=01

[0524] f(00)=0, f(01)=1, f(10)=0, f(11)=0.

[0525] in order to study the robustness of one cell in one look-up table for a fuzzy controller.

[0526] The entanglement operator is: $U_{F} = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{pmatrix}$

[0527] and |input

=|00

|1

. An entanglement operator defines a permutation of basis vectors of the superposition it is applied, mapping one basis vector into another basis vector, but not into a superposition. By applying the superposition, the entanglement and the interference operator in sequence we obtain the final vector (see, Appendix 1) ${{output}\rangle} = {{01\rangle} \otimes {\frac{{0\rangle} - {1\rangle}}{\sqrt{2}}.}}$

[0528] Reading the value of the first two qubits after simulation of suspension system stochastic behavior the searched state x is found.

[0529] Temporal labeling is used to obtain the signal from the pure initial state ${\psi_{i\quad n}\rangle} = {{00\rangle} = \begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}}$

[0530] by repeating the simulation experiment three times, cyclically permuting the |01

, |10

and |11

state populations before the computation and then summing the results. The calculation starts with a Walsh-Hadamard transform W (H), which rotates each quantum bit (qubit) from |0

to (|0

+|1

)/{square root}{square root over (2)}, to prepare the uniform superposition state ${\psi_{0}\rangle} = {{W{\psi_{i\quad n}\rangle}} = {{{\frac{1}{2}\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & {- 1} & 1 & {- 1} \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}\begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}} = {\frac{1}{2}\begin{bmatrix} 1 \\ 1 \\ 1 \\ 1 \end{bmatrix}}}}$

[0531] From physical standpoint W=H_(A)

H_(B), where H=X²{overscore (Y)} (pulses applied from right to left) is a single-spin Hadamard transformation. These rotations are denoted as X≡exp(iπI_(x)/2) for a 90° rotation about {circumflex over (x)} axis, and Y≡exp(iπI_(y)/2) for a 90° rotation about ŷ axis, with a subscript specifying the affected spin. The operator corresponding to the application of f(x) for x₀=3 is a $C = {\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & {- 1} \end{bmatrix}.}$

[0532] This conditional sign flip, testing for a Boolean string that satisfies the AND function, is implemented by using the coupled-spin evolution. During a time t the system undergoes the unitary transformation exp(2πiJI_(zA)I_(zB)t) in the doubly rotating frame. Denoting a t=1/2J (2.3 millisecond) period evolution as the operator τ, one finds that C=Y_(A){overscore (X)}_(A){overscore (Y)}_(A)Y_(B){overscore (X)}_(B){overscore (X)}_(B)τ (UP to an irrelevant overall phase factor).

[0533] An arbitrary logical function can be tested by a network of controlled-NOT and rotation gates, leaving the result in a scratch pad qubit. This qubit can then be used as the source for a controlled phase-shift gate to implement the conditional sign flip.

[0534] The operator D in Grover's quantum search algorithm that inverts the states about their mean can be implemented by a Walsh-Hadamard transform W, a conditional phase shift P, and another Was following ${D = {{WPW} = {W\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & {- 1} & 0 & 0 \\ 0 & 0 & {- 1} & 0 \\ 0 & 0 & 0 & {- 1} \end{bmatrix}}}},{W = {\frac{1}{2}\begin{bmatrix} {- 1} & 1 & 1 & 1 \\ 1 & {- 1} & 1 & 1 \\ 1 & 1 & {- 1} & 1 \\ 1 & 1 & 1 & {- 1} \end{bmatrix}}}$

[0535] Let U DC be the complete iteration. The state after one cycle is ${\psi_{1}\rangle} = {{{UW}{\psi_{0}\rangle}} = {{11\rangle} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 1 \end{bmatrix}}}$

[0536] Measurements of the system's state will give with certainty the correct answer, |11

.

[0537] For further iterations, |ψ_(n)

=U^(n)|ψ₀

, ${{\psi_{2}\rangle} = {\frac{1}{2}\begin{bmatrix} {- 1} \\ {- 1} \\ {- 1} \\ 1 \end{bmatrix}}},{{\psi_{3}\rangle} = {\frac{1}{2}\begin{bmatrix} {- 1} \\ {- 1} \\ {- 1} \\ {- 1} \end{bmatrix}}},{{\psi_{4}\rangle} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ {- 1} \end{bmatrix}}$

[0538] A maximum in the amplitude of the x₀ state |11

recurs every third iteration.

[0539] In one embodiment, like any computer program that is compiled to a micro-code, the Radio Frequency (RF)—pulse sequence for U can be optimized to eliminate unnecessary operations. In a quantum computer this is desirable to make the best of the available coherence. Ignoring irrelevant overall phase factors, and noting that H=X²{overscore (Y)} also works, one can simplify U. In an NMR-experiment (see Appendix 6) with the result of a weak measurement on the ensemble, the signal strength gives the fraction of the population with the measured magnetization rather than collapsing the wave function into a measurement eigenstate. The readout can be preceded by a sequence of single spin rotations to allow all terms in the deviation density matrix

[0540] ρ_(Δ)=ρ−tr(ρ)/N, ρ_(Δ) _(n) =|ψ_(n)

ψ_(n)|−tr(|ψ_(n)

ψ_(n)|)/4,

[0541] to be measured.

[0542] The effect of the elementary rotation G is shown in FIG. 24 for the case of three qubits, i.e. m=3. The first Hadamard transformation H² ³ ⁾ prepares an equally weighted state. The subsequent quantum gate I_(x) ₀ inverts the amplitude of the searched state |x₀

=|111

. Together with the subsequent Hadamard transformation and the phase inversion I_(s) this gate sequence G amplifies the probability amplitude of the searched state |x₀

=|111

. In this particular case an additional Hadamard transformation finally prepares the quantum computation in the searched state |x₀

=|111

with a probability of 0.88. This method for global optimization and design of KB in fuzzy (P)(I)(D)-controllers is used.

[0543] The main application problem of quantum search algorithm in optimization of fuzzy controller KB is the increasing of memory size in simulation on classical computer. An algorithm for this case is provided in Appendix 3, and an example of this the use of this algorithm is described below.

[0544] An example for a set of binary patterns of length 2 will help clarify the preceding discussion. Assume that the pattern set for fuzzy P-controller is p={01, 10, 11}. Recall (from Appendix 3) that the x register is the one that corresponds to the various patterns, that the g register is used as a temporary workspace to mark certain states and that the c-register is a control register that is used to determine which states are affected by a particular operator. Now the initial state |00, 0, 00) is generated and the algorithm evolves the quantum state through the series of unitary operations.

[0545] First, for any state whose c₂ qubit is in the state |0

, the qubits in the x register corresponding to non-zero bits in the first pattern have their states flipped (in this case only the second x qubit's state is flipped) and then the c₁ qubit's state is flipped if the c₂ qubit is |0

. This flipping of the c₁ qubit's state marks this state for being operated upon by an Ŝ^(p) operator in the next step. So far, there is only one state, the initial one, in the superposition. This flipping is accomplished with the FLIP operator: |00, 0, 00

→^(FLIP)|01, 0, 10

[0546] Next, one state in the superposition with the c—register in the state |10

(and there will always be only one such state at this step) is operated upon by the appropriate SP operator (with p equal to the number of patterns including the current one yet to be processed, in this case 3). This essentially “carves off” a small piece and creates a new state in the superposition. This operation corresponds to ${{01,0,10}\rangle}->^{{\hat{S}}^{3}}{{\frac{1}{\sqrt{3}}{{01,0,11}\rangle}} + {\sqrt{\frac{2}{3}}{{01,0,10}\rangle}}}$

[0547] Next, the two states affected by the SP operator are processed by the SAVE operator of the algorithm. This makes the state with the smaller coefficient a permanent representation of the pattern being processed and resets the other to generate a new state for the next pattern. At this point one pass through the loop of the algorithm has been performed. ${{\frac{1}{\sqrt{3}}{{01,0,01}\rangle}} + {\sqrt{\frac{2}{3}}{{01,0,00}\rangle}}}->^{SAVE}{{\frac{1}{\sqrt{3}}{{01,0,01}\rangle}} + {\sqrt{\frac{2}{3}}{{01,0,00}\rangle}}}$

[0548] Now, the entire process is repeated for the second pattern. Again, the x register of the appropriate state (that state whose c₂ qubit is in the state |0

) is selectively flipped to match the new pattern. Notice that this time the generator state has its x—register in a state corresponding to the pattern that was just processed. Therefore, the selective qubit state flipping occurs for those qubits that correspond to bits in which the first and second patterns differ—both in this case: $->^{FLIP}{{\frac{1}{\sqrt{3}}{{01,0,01}\rangle}} + {\sqrt{\frac{2}{3}}{{10,0,10}\rangle}}}$

[0549] Next, another Sp operator is applied to generate a representative state for the new pattern: $->^{{\hat{S}}^{2}}{{\frac{1}{\sqrt{3}}{{01,0,01}\rangle}} + {\frac{1}{\sqrt{2}}\sqrt{\frac{2}{3}}{{10,0,11}\rangle}} + {\frac{1}{\sqrt{2}}\sqrt{\frac{2}{3}}{{{10,0,10}\rangle}.}}}$

[0550] Again, the two states just affected by the Ŝ^(p) operator are operated on by the SAVE operator, the one being made permanent and other being reset to generate a new state for the next pattern, $->^{SAVE}{{\frac{1}{\sqrt{3}}{{01,0,01}\rangle}} + {\sqrt{\frac{1}{3}}{{10,0,01}\rangle}} + {\sqrt{\frac{1}{3}}{{10,0,00}\rangle}}}$

[0551] Finally, the third pattern is considered and the process is repeated a third time. The x register of the generator state is again selectively flipped. In this time, only those qubits corresponding to bits that differ in the second and third patterns are flipped, in this case just qubit x₂ $->^{FLIP}{{\frac{1}{\sqrt{3}}{{01,0,01}\rangle}} + {\sqrt{\frac{1}{3}}{{10,0,01}\rangle}} + {\sqrt{\frac{1}{3}}{{11,0,10}\rangle}}}$

[0552] Again a new state is generated to represent this third pattern. $->^{{\hat{S}}^{3}}{{\frac{1}{\sqrt{3}}{{01,0,01}\rangle}} + {\frac{1}{\sqrt{3}}{{10,0,01}\rangle}} + {\frac{1}{\sqrt{1}}\sqrt{\frac{1}{3}}{{10,0,11}\rangle}} + {\sqrt{\frac{0}{1}}\sqrt{\frac{1}{3}}{{10,0,10}\rangle}}}$

[0553] Finally, proceed once again with the SAVE operation. ${{{{{{{{{{{->^{SAVE}\frac{1}{\sqrt{3}}}01},0,01}\rangle} + \sqrt{\frac{1}{3}}}10},0,01}\rangle} + \sqrt{\frac{1}{3}}}11},0,01}\rangle$

[0554] At this point, notice that the states of the g and c registers for all the states in the superposition are the same. This means that these registers are in no way entangled with the x register, and therefore since they no longer needed they may be ignored without affecting the outcome of father operations on the x register. Thus, the simplified representation of the quantum state of the system is ${{{{{{{{- \frac{1}{\sqrt{3}}}01}\rangle} + \sqrt{\frac{1}{3}}}10}\rangle} - \sqrt{\frac{1}{3}}}11}\rangle$

[0555] and it may be seen that the set of patterns p is now represented as a quantum superposition in the x register.

[0556] In the quantum network representation of the algorithm the FLIP operator is composed of the {circumflex over (F)}⁰ operators left of the Ŝ^(p) and the question marks signify that the operator is applied only if the qubit's states differs from the value of the corresponding bit in the pattern being processed. The SAVE operator is composed of the Â operators and the {circumflex over (F)}¹ to the right of Ŝ^(p). The network shown is simply repeated for additional patterns.

[0557] In looking for the state |0110

, assume that the first two steps of the algorithm (which initialize the system to the uniform distribution) have not been performed, but that instead initial state is described by ${{\psi}\rangle} = {\frac{1}{\sqrt{6}}\left( {1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1} \right)}$

[0558] that is superposition of only 6 of the possible 16 basis states. The first time through the loop, inverts the phase of the state |τ

=|0110

resulting in ${{{{{\psi}\rangle}->^{{\hat{I}}_{\tau}}}\psi}\rangle} = {\frac{1}{\sqrt{6}}\left( {1,0,0,1,0,0,{- 1},0,0,1,0,0,1,0,0,1} \right)}$

[0559] and then rotates all the basis states about the average, which is $\frac{1}{4\sqrt{6}},$

[0560] so ${{{{{\psi}\rangle}->^{\hat{G}}}\psi}\rangle} = {\frac{1}{2\sqrt{6}}\left( {{- 1},1,1,{- 1},1,1,3,1,1,{- 1},1,1,{- 1},1,1,{- 1}} \right)}$

[0561] The second time through the loop, again rotates the phase of the desired state giving ${{{{{\psi}\rangle}->^{\hat{I}}}\psi}\rangle} = {\frac{1}{2\sqrt{6}}\left( {{- 1},1,1,{- 1},1,1,{- 3},1,1,{- 1},1,1,{- 1},1,1,{- 1}} \right)}$

[0562] and then again rotates all the basis states about the average which now is $\frac{1}{16\sqrt{6}}$

[0563] so that ${{{{{\psi}\rangle}->^{\hat{G}}}\psi}\rangle} = {\frac{1}{8\sqrt{6}}\left( {5,{- 3},{- 3},5,{- 3},{- 3},13,{- 3},{- 3},5,{- 3},{- 3},5,{- 3},{- 3},5} \right)}$

[0564] Now squaring the coefficients gives the probability of collapsing into the corresponding state. In this case, the chance of collapsing into the |τ

=|0110

basis state is 0.66²≈44%.

[0565] The chance of collapsing into one of the 15 basis states that is not desired state is approximately 56%. This chance of success is much worse than that seen in above described example, and the reason for this is that there are now two types of undesirable states: those that existed in the superposition to start with but that are not the state we are looking for and those that were not in the original superposition but were introduced into the superposition by the Ĝ operator. The problem comes from the fact that these two types of undesirable states acquire opposite phases and thus to some extent cancel each other out. Therefore, during the rotation about average performed by the Ĝ operator the average is smaller than it should be if it were to just represent the states in the original superposition. As a result, the desired state is rotated about a sub-optimal average and never gets as large a probability associated with it as it should. An analytic expression for the maximum possible probability using Grover's algorithm on an arbitrary starting distribution is ${P_{\max} = {1 - {\sum\limits_{j = {r + 1}}^{N}{{l_{j} - \overset{\_}{l}}}^{2}}}},$

[0566] where N is the total number of basis states, r is the number of desired states (looking for more than one state is another extension to the original algorithm), l_(j) is the initial amplitude of state j, and they assume without loss of generality that the desired states are number 1 to r and the other states are numbered r+1 to N. {overscore (l)} is the average amplitude of all the undesired states, and therefore the second term of this equation is proportional to the variance in the amplitudes. The theoretical maximum is, in practice, an upper bound.

[0567] Now consider the case of the initial distribution. The variance is proportional to 10·0.13²+5·0.28²=0.56 and thus P_(max)=0.44. In order to rectify this problem, Grover's algorithm is modified. The difference between this and Grover's original algorithm is first, the algorithm does not begin with the state |{overscore (0)}

and transform it into the uniform distribution (such as would be the result of the pattern storage algorithm described above). The second modification, is that the second state rotation operator not only rotates the phase of desired states but also rotates the phases of all the stored pattern states as well. This forces the two different kinds of non-desired states to have the same phase, rather than opposite phases as in the original algorithm. Then one can consider the state of the system as the input into the normal loop of Grover's algorithm.

[0568] The number of strings in a population matching (or belonging to) a schema is expected to vary from one generation to the next according to the following theorem: $\begin{matrix} {{E\left\lbrack {m\left( {H,{t + 1}} \right)} \right\rbrack} \geq {{m\left( {H,t} \right)} \cdot \underset{\underset{Selection}{}}{\frac{f\left( {H,t} \right)}{\overset{\_}{f}(t)}} \cdot \underset{\underset{Mutation}{}}{\left( {1 - p_{m}} \right)^{O{(H)}}} \cdot \left\lbrack \underset{\underset{Crossover}{}}{1 - \overset{\overset{P_{d}{({H,t})}}{}}{p_{c}\frac{L(H)}{N - 1}\left( {1 - \frac{{m\left( {H,t} \right)}{f\left( {H,t} \right)}}{M\quad {\overset{\_}{f}(t)}}} \right)}} \right\rbrack}} & (10.1) \end{matrix}$

[0569] where m (H,t) is the number of strings matching the schema H at generation t, f(H,t) is the mean fitness of the strings matching H, {overscore (f)}(t) is the mean fitness of the strings in the population, p_(m) is the probability of mutation per bit, p_(c) is the probability of crossover, N is the number of bits in the strings, M is the number of strings in the population, and E[m(H, t+1)] is the expected number of strings matching the schema H at generation t+1. This is slightly different version of Holland's original theorem. Equation (10.1) applies when crossover is performed taking both parents from the mating pool. The three horizontal curly brackets beneath the equation indicate which operators are responsible for each term. The bracket above the equation represents the probability of disruption of the schema H at generation t due to crossover P_(d)(H,t). Such a probability depends on the frequency of the schema in the mating pool but also on the intrinsic fragility of the schema L(H)/(N-l).

[0570] As stated above, the GA searches for a global optimum in a single solution space. It is desirable, however, to search for a global optimum in multiple solution spaces to find a “universal” optimum. A Quantum Genetic Search Algorithm (QGSA) provides the ability to search multiple spaces simultaneously (as described below). The QGSA searches several solution spaces, simultaneously, in order to find a universal optimum, that is, a solution that is optimal considering all solution spaces.

[0571] The structure of quantum search algorithm can be described as $\begin{matrix} {G = {\left\lbrack {\overset{\overset{Interference}{}}{\left( {{Int} \otimes I_{m}} \right)} \circ \underset{\underset{Entanglement}{}}{U_{F}}} \right\rbrack^{h + 1} \circ \left( \underset{\underset{Superposition}{}}{H_{n} \otimes S_{m}} \right)}} & (10.2) \end{matrix}$

[0572] In quantum algorithm structures and genetic algorithms structure have the following interrelations: $\begin{matrix} \begin{matrix} {{GA}:{{E\left\lbrack {m\left( {H,{t + 1}} \right)} \right\rbrack} \geq {{{m\left( {H,t} \right)} \cdot \underset{\underset{\Updownarrow}{}}{\underset{\underset{Selection}{}}{\frac{f\left( {H,t} \right)}{\overset{\_}{f}(t)}} \cdot \cdot \left\lbrack \underset{\underset{Crossover}{}}{1 - \overset{\overset{P_{d}{({H,t})}}{}}{p_{c}\frac{L(H)}{N - 1}\left( {1 - \frac{{m\left( {H,t} \right)}{f\left( {H,t} \right)}}{M\quad {\overset{\_}{f}(t)}}} \right)}} \right\rbrack}}\underset{\underset{\Updownarrow}{}}{\underset{\underset{Mutation}{}}{\left( {1 - p_{m}} \right)^{O{(H)}}}}}}} \\ {{{{QA}\quad ({Gate})}:\quad {\left\lbrack {\overset{\overset{Interference}{}}{\left( {{Int} \otimes I_{m}} \right)} \circ \overset{\underset{}{Entanglement}}{U_{F}}} \right\rbrack^{h + 1} \circ \left( \underset{\underset{Superposition}{}}{H_{n} \otimes S_{m}} \right)}}\quad} \end{matrix} & (10.3) \end{matrix}$

[0573]FIG. 25 illustrates the similarities between a GA and a QSA. As shown in FIG. 25, in the GA search, a solution space 2501 leads to an initial position (input) 2502. The initial position 2502 is coded into binary strings using a binary coding scheme 2510. GA operators such as selection 2503, crossover 2504, and mutation 2505 are applied to the coded strings to generate a population. Through a fitness function 2506 (such as a fitness function based on minimum entropy production or some other desirable property) a global optimum for the space 2501 is found.

[0574] By contrast, in the QSA shown in FIG. 25, a group of N solution spaces 2550 are used to create an initial position (input) 2551. Quantum operators such as superposition 2552, entanglement 2553, and interference 2554 operate on the initial position to produce a measurement. Superposition is created using a Hadamard transformation 2561 (a one-bit operation). Entanglement is created through a Controlled-NOT operation 2562 (a two-bit operation). Interference is created through a Quantum Fourier Transform (QFT) 2563. Using the quantum operators, a universal optimum for covering all the spaces in the group 2550 is found.

[0575] Thus, the classical process of selection is loosely analogous to the quantum process of creating a superposition. The classical process of crossover is loosely analogous to the quantum process of entanglement. The classical process of mutation is loosely analogous to the quantum process of interference.

[0576] In the GA a starting population is randomly generated. Mutation and crossover operators are then applied in order to change the genome of some individuals and create some new genomes. Some individuals are then cut off according to a fitness function and selection of good individuals is used to generate a new population. The procedure is then repeated on this new population until an optimum is found.

[0577] By analogy, in the QSA an initial basis vector is transformed into a linear superposition of basis vector by the superposition operator. Quantum operators such as entanglement and interference then act on this superposition of states generating a new superposition where some states (the non-interesting states) have reduced their probability amplitude in modulus and some other states (the most interesting) have increased probability amplitude. The process is repeated several times in order to get to a final probability distribution where an optimum can be easily observed.

[0578] The quantum entanglement operator acts in analogy to the genetic mutation operator: in fact it maps every basis vector in the entering superposition into another basis vector by flipping some bits in the ket label. The quantum interference operator acts like the genetic crossover operator by building a new superposition of basis states from the interaction of the probability amplitudes of the states in the entering superposition. But the interference operator includes also the selection operator. In fact, interference increases the probability amplitude modulus of some basis states and decreases the probability amplitude modulus of some other ones according to a general principle, that is maximizing the quantity $\begin{matrix} {{_{T}\left( {{output}\rangle} \right)} = {1 - \frac{{E_{T}^{Sh}\left( {{output}\rangle} \right)} - {E_{T}^{VN}\left( {{output}\rangle} \right)}}{T}}} & (10.4) \end{matrix}$

[0579] with T={1, . . . , n} This quantity is called the intelligence of the output state and it measures how the information encoded into quantum correlation by entanglement is accessible by measurement. The role of the interference operator is, in fact, to preserve the Von Neumann entropy of the entering entangled state and to reduce (minimize) the Shannon entropy, which has been increased to its maximum by the superposition operator. Note that there is a strong difference between GA and QSA: in GA the fitness functions changes with different instances of the same problem, whereas mutation and crossover are always random. In the QSA, the fitness function is always the same (the intelligence of the output state), whereas the entanglement operator strongly depends on the input function f.

[0580] The QGSA merges the two schemes of GA and QSA. FIG. 26 is a flowchart showing the structure of the QGSA. In FIG. 26, an initial superposition with t random non-null probability amplitude values is generated $\begin{matrix} {{{input}\rangle} = {\sum\limits_{i = 1}^{t}{c_{i}{x_{i}\rangle}}}} & (10.5) \end{matrix}$

[0581] Every ket corresponds to an individual of the population and in the general case is labelled by a real number. So, every individual corresponds to a real number x_(i) and is implicitly weighted by a probability amplitude value c_(i). The action of the entanglement and interference operators is genetically simulated: k different paths are randomly chosen, where each path corresponds to the application of an entanglement and interference operator.

[0582] The entanglement operator includes an infective map transforming each basis vector into another basis vector. This is done by defining a mutation ray ε>0 and extracting t different values ε_(l), . . . , ε_(t) such that −ε≦ε_(i)≦ε. Then the entanglement operator U_(F) ^(j) for path t is defined by the following transformation rule: $\begin{matrix} {{x_{i}\rangle}\overset{U_{F}^{J}}{\rightarrow}{{x_{i} + ɛ_{i}}\rangle}} & (10.6) \end{matrix}$

[0583] When U_(F) ^(j) acts on the initial linear superposition, all basis vectors in it undergo mutation $\begin{matrix} {{\psi\rangle} = {\sum\limits_{i = 1}^{t}{c_{i}{{x_{i} + ɛ_{i}}\rangle}}}} & (10.7) \end{matrix}$

[0584] The mutation operator ε can be described as following relation $\begin{matrix} {ɛ = \left\{ \begin{matrix} 1 & {for} & {bit} & {permutation} & 0 \\ 0 & {for} & {bit} & {permutation} & 1 \\ {- 1} & {for} & {phase} & {permutation} & \quad \end{matrix} \right.} & (10.8) \end{matrix}$

[0585] Assume, for example, there are eight states in the system, encoded in binary as 000, 001, 010, 011, 100, 110, 111. One of the possible states that may be found during a computation is ${\frac{i}{\sqrt{2}}{000\rangle}} + {\frac{1}{\sqrt{2}}{100\rangle}} + {\frac{1}{\sqrt{2}}{{110\rangle}.}}$

[0586] A unitary transform is usually constructed so that it is performed at the bit level. For example, the unitary transformation $\begin{matrix} 0 \\ 1 \end{matrix}\overset{0\quad 1}{\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}}$

[0587] will switch the state |0

to |1

and |1

to |0

(NOT operator).

[0588] Mutation of a chromosome in the GA alters one or more genes. It can also be described by changing the bit at a certain position or positions. Switching the bit can be simply carried out by the unitary NOT-transform. The unitary transformation that acts, as example on the last two bits will transform the state |1001

to state |1011

and the state |0111

to the state |0101

and so on can be described as the following matrix $\begin{matrix} {\begin{matrix} 00 \\ 01 \\ 10 \\ 11 \end{matrix}\begin{pmatrix} \overset{00}{1} & \overset{01}{0} & \overset{10}{0} & \overset{11}{0} \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{pmatrix}} & (10.9) \end{matrix}$

[0589] which is a mutation operator for the set of vectors |0000

, |0001

, . . . , |1111

.

[0590] A phase shift operator Z can be described as the following $Z\text{:}\begin{matrix} {0\rangle} & \rightarrow & {0\rangle} \\ {1\rangle} & \rightarrow & {- {1\rangle}} \end{matrix}$

[0591] and an operator $Y\text{:}\begin{matrix} {0\rangle} & \rightarrow & {1\rangle} \\ {1\rangle} & \rightarrow & {- {0\rangle}} \end{matrix}$

[0592] is a combination of negation NOT and a phase shift operator Z.

[0593] As an example, consider the following matrix $\begin{matrix} {\begin{matrix} 00 \\ 01 \\ 10 \\ 11 \end{matrix}\begin{pmatrix} \overset{00}{1} & \overset{01}{0} & \overset{10}{0} & \overset{11}{0} \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix}} & (10.10) \end{matrix}$

[0594] which operates a crossover on the last two bits transforming 1011 and 0110 in 1010 and 0111, where the cutting point is at the middle (one-point crossover).

[0595] The two-bit conditional phase shift gate has the following matrix form $\begin{matrix} 00 \\ 01 \\ 10 \\ 11 \end{matrix}\begin{pmatrix} 1^{00} & 0^{01} & 0^{10} & 0^{11} \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & ^{\quad \varphi} \end{pmatrix}$

[0596] and the controlled NOT (CNOT) gate that can created entangled states is described by the following matrix: $\left. {{CNOT}\text{:}\begin{matrix} {00\rangle} & \rightarrow & {00\rangle} \\ {01\rangle} & \rightarrow & {01\rangle} \\ {10\rangle} & \rightarrow & {11\rangle} \\ {11\rangle} & \rightarrow & {10\rangle} \end{matrix}}\Rightarrow{\begin{matrix} 00 \\ 01 \\ 10 \\ 11 \end{matrix}\begin{pmatrix} \overset{00}{1} & \overset{01}{0} & \overset{10}{0} & \overset{11}{0} \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix}} \right.$

[0597] The interference operator Int¹ is chosen as a random unitary squared matrix of order t whereas the interference operators for the other paths are generated from Int¹ according to a suitable law. Examples of such matrices are the Hadamard transformation matrix H_(t) and the diffusion matrix D_(t), that have been defined above. The application of entanglement and interference operators produces a new superposition of maximum length t: $\begin{matrix} {{{\left| {output}^{j} \right.\rangle} = \left. {\sum\limits_{i = 1}^{t}\quad c_{i,j}^{\prime}} \middle| {x_{i} + ɛ_{i,j}} \right.}\rangle} & (10.11) \end{matrix}$

[0598] The average entropy value for this state is now evaluated. Let E(x) be the entropy value for individual x. Then $\begin{matrix} {\left. {E\left( \left| {output}^{j} \right.\rangle \right.} \right) = {\sum\limits_{i = 1}^{t}{{\quad c_{i,j}^{\prime}}^{2}{E\left( {x_{i} + ɛ_{i,j}} \right)}}}} & (10.12) \end{matrix}$

[0599] The average entropy value is calculated by averaging every entropy value in the superposition with respect to the squared modulus of the probability amplitudes.

[0600] According to this sequence of operations, k different superpositions are generated from the initial one using different entanglement and interference operators. Every time the average entropy value is evaluated. Selection involves keeping only the superposition with minimum average entropy value. When this superposition is obtained, it becomes the new input superposition and the process starts again. The interference operator that has generated the minimum entropy superposition is kept and Int¹ is set to this operator for the new step. The computation stops when the minimum average entropy value falls under a given critical limit. At this point measurement is simulated, that is a basis value is extracted from the final superposition according to the squared modulus of its probability amplitude. The algorithm is shown in FIG. 26 as follows: ${{\left. 1.\quad \middle| {input} \right.\rangle} = \left. {\sum\limits_{i = 1}^{t}\quad c_{i}^{\prime}} \middle| x_{i} \right.}\rangle$

[0601] with x_(i) random real numbers and c_(i) random complex numbers such that ${{\sum\limits_{i = 1}^{t}{\quad c_{i}}^{2}} = 1};$

[0602] Int¹ unitary operator of order t randomly generated (block 2601); ${2.\quad \overset{\_}{A}} = \begin{pmatrix} {\sum\limits_{i = 1}^{t}{c_{i}{{x_{i} + ɛ_{i,1}}\rangle}}} \\ {\sum\limits_{i = 1}^{t}{c_{i}{{x_{i} + ɛ_{i,2}}\rangle}}} \\ \ldots \\ {\sum\limits_{i = 1}^{t}{c_{i}{{x_{i} + ɛ_{i,k}}\rangle}}} \end{pmatrix}$

[0603] with −ε≦ε_(i,j)≦ε randomly generated and ∀i_(l), i₂, j:x_(i) ₁ +ε₁ _(l) _(,j)≠x_(i) ₂ +ε_(i) ₂ _(j) (block 2602); ${3.\quad B} = {\begin{pmatrix} {{Int}^{1}{\sum\limits_{i = 1}^{t}{c_{i}{{x_{i} + ɛ_{i,1}}\rangle}}}} \\ {{Int}^{2}{\sum\limits_{i = 1}^{t}{c_{i}{{x_{i} + ɛ_{i,2}}\rangle}}}} \\ \ldots \\ {{Int}^{k}{\sum\limits_{i = 1}^{t}{c_{i}{{x_{i} + ɛ_{i,k}}\rangle}}}} \end{pmatrix} = \begin{pmatrix} {\sum\limits_{i = 1}^{t}{c_{i,1}^{\prime}{{x_{i} + ɛ_{i,1}}\rangle}}} \\ {\sum\limits_{i = 1}^{t}{c_{i,2}^{\prime}{{x_{i} + ɛ_{i,2}}\rangle}}} \\ \ldots \\ {\sum\limits_{i = 1}^{t}{c_{i,k}^{\prime}{{x_{i} + ɛ_{i,k}}\rangle}}} \end{pmatrix}}$

[0604] with Int^(j) unitary squared matrix of order t (block 2603); ${{{4.\quad {{output}^{*}\rangle}} = {{\sum\limits_{i = 1}^{t}{c_{i,j^{*}}^{\prime}{{x_{i} + ɛ_{i,j^{*}}}\rangle}\quad {with}\quad j^{*}}} = {{\arg \left( {\min \left\{ {\sum\limits_{i = 1}^{t}{{c_{i,j}^{\prime}}^{2}{E\left( {x_{i} + ɛ_{i,j}} \right)}}} \right\}} \right)}\left( {{block}\quad 2604} \right)}}};}$ ${{5.\quad {\overset{\_}{E}}^{*}} = {\sum\limits_{i = 1}^{t}{{c_{i,j^{*}}^{\prime}}^{2}{E\left( {x_{i} + ɛ_{i,j^{*}}} \right)}\quad \left( {{block}\quad 2605} \right)}}}\quad$

[0605] 6. If {overscore (E)}*<E¹ and information risk increment is lower than a pre-established quantity Δ then extract x_(i*)+ε_(i*,j*) from the distribution {(x_(i)+ε_(i,j*), ∥c¹ _(i,j*)∥²)}; (block 2609)

[0606] 7. Else set |input

to |output *

, Int¹ to Int^(j*) (block 2608) and go back to step 2 (block 2602).

[0607] Step 6 includes methods of accuracy estimation and reliability measurements of the successful result.

[0608] The simulation of the quantum search algorithm is represented through information flow analysis, information risk increments and entropy level estimations:

[0609] 1) Applying a quantum gate G on the input vector stores information into the system state, minimizing the gap between the classical Shannon entropy and the quantum Von Neumann entropy;

[0610] 2) Repeating the step of applying the calculation (estimation) of information risk increments (see below);

[0611] 3) Measuring the basis vector for estimation of the level of the average entropy value;

[0612] 4) Decoding the basis vector of a successful result for computation time stopping when the minimum average entropy value falls under a given critical level limit.

[0613] The information risk increments are calculated (estimated) according to the following formula:

−{square root}{square root over (r(W ²)2I({tilde over (p)})}:p)≦(δr={tilde over (r)}−r)≦{square root}{square root over ({tilde over (r)})}(W ²)2I(p:{tilde over (p)})

[0614] where:

[0615] W is the loss function;

[0616] r(W²)=∫∫W²p(x,θ)dxdθ is an average risk for the corresponding probability density function p(x,θ);

[0617] x=(x₁, . . . x_(n)) is a vector of measured values;

[0618] θ is an unknown parameter; ${\cdot {I\left( {p:\overset{\sim}{p}} \right)}} = {\int{\int{{p\left( {x,\theta} \right)}\ln \frac{p\left( {x,\theta} \right)}{\overset{\sim}{p}\left( {x,\theta} \right)}{x}{\theta}}}}$

[0619] is the relative entropy (the Kullback-Leibler measure of information divergence).

[0620] As stated above, the GA searches for a global optimum in a single solution space. As shown in FIG. 25, in the GA search, a solution space 2501 leads to an initial position (input) 2502. The initial position 2502 is coded into binary strings using a binary coding scheme 2510. GA operators of selection 2503, crossover 2504, and mutation 2505 are applied to the coded strings to generate a population. Through a fitness function 2506 (such as a fitness function based on minimum entropy production rate or some other desirable property) a global optimum for the single space 2501 is found.

[0621] The “single solution space” can include coefficient gains of the PID controller of a plant under stochastic disturbance with fixed statistical properties as the correlation function and probability density function. After stochastic simulation of dynamic behaviour of the plant under stochastic excitation with the GA one can obtain the optimal coefficient gains of intelligent PID controller only for stochastic excitation with fixed statistical characteristics. In this case the “single space of possible solutions” is the space 2501. Using a stochastic excitation on the plant, with another statistical characteristics, then the intelligent PID controller can not realize a control law with the fixed KB. In this case, a new space of possible solutions, shown as the space 2550, is defined.

[0622] If a universal look-up table for the intelligent PID controller is to be found from many single solution spaces, then the application of the GA does not give a final corrected result (the GA operators not include superposition and quantum correlation as entanglement). The GA gives the global optimum on the single solution space. In this case important information about statistical correlation between coefficient gains in the universal look-up table is lost.

[0623] By contrast, in the QSA shown in FIG. 25, a group of N solution spaces 2550 are used to create an initial position (input) 2551. Quantum operators such as superposition 2552, entanglement 2553, and interference 2554 operate on the initial position to produce a measurement. Superposition is created using a Hadamard transformation 2561 (one-bit operation). Entanglement is created through a Controlled-NOT (CNOT) operation 2562 (a two-bit operation). Interference is created through a Quantum Fourier Transform (QFT) 2563. Using the quantum operators, a universal optimum for covering all the spaces in the group 2550 is found. The structure of the QGSA with a quantum counting algorithm COUNT is shown in FIG. 27.

[0624] The structure of intelligent suspension control system is shown in FIG. 21. FIG. 33 shows a look-up table fragment simulation for the fuzzy P-controller by the GA of FIG. 21. This example shows the application of the QGSA for the optimization of a look-up table for the P-controller of a suspension system using two look-up tables. The two look-up tables from GA simulations for Gaussian and non-Gaussian (with Rayleigh probability density function) roads corresponding to the road profiles in FIGS. 4 and 6.

[0625] Stepper motors of dampers in the suspension system make the positions from the discrete interval [1, 2, . . . , 9]. In this example, there is a relation between the error control (ε) and the change of error control ({dot over (ε)}) as [PM→NB] for the different position states of two dampers. The two look-up tables cannot be simply averaged together. Only with a quantum approach using superposition operator the Cell1 of look-up table 1 be made logically integral with the Cell2 of look-up table 2.

[0626] Assume, for example, the selection operator of the GA codes randomly the position of a damper in the Cell1 with two last positions of the Cell2 and amplitude probability of positions in superposition is presented as [1,0,0,1,0,0,1,0,0,1,0, 0,1,0, 0,1]. The desired position is |τ

=0101

and target positions are found with the modified Grover's algorithm presented herein.

[0627] With the modification of the quantum search algorithm described above ${\psi\rangle} = {\frac{1}{\sqrt{6}}{\left( {1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1} \right).}}$

[0628] The first two steps are identical to those above: $\left. {\psi\rangle}\rightarrow{}_{{\hat{I}}_{\tau}}{\psi\rangle} \right. = {\frac{1}{\sqrt{6}}\left( {1,0,0,1,0,0,{- 1},0,0,1,0,0,1,0,0,1} \right)\quad {and}}$ ${\left. {\psi\rangle}\rightarrow{}_{\hat{G}}{\psi\rangle} \right. = {\frac{1}{2\sqrt{6}}{\left( {{{- 1},1,1,} - {1,1,1,3,1,1,} - {1,1,1,} - {1,1,1,} - 1} \right).}}}\quad$

[0629] Now, all the states present in the original superposition are phase rotated and then all states are again rotated about average: $\begin{matrix} {{\left. {\psi\rangle}\rightarrow{}_{\hat{I}}{\psi} \right.\rangle} = {\frac{1}{2\sqrt{6}}\left( {\text{1,1,1,1,1,1,}{- 3},\text{1,1,1,1,1,1,1,1,1)}\quad {and}} \right.}} \\ {{\left. {\psi\rangle}\rightarrow{}_{\hat{G}}{\psi} \right.\rangle} = {\frac{1}{4\sqrt{6}}\left( {{\text{1,1,1,1,1,1,}9,{\text{1,1,1,1,1,1,1,1,1)}\quad.{Finally}}},\begin{matrix} {{\left. {\psi\rangle}\rightarrow{}_{\hat{I}}{\psi} \right.\rangle} = {\frac{1}{4\sqrt{6}}\left( {\text{1,1,1,1,1,1,}{- 9},\text{1,1,1,1,1,1,1,1,1)}\quad {and}} \right.}} \\ {{\left. {\psi\rangle}\rightarrow{}_{\hat{G}}{\psi} \right.\rangle} = {\frac{1}{16\sqrt{6}}\left( {\text{-1,-1,-1,-1,-1,-1,}39,} \right.}} \\ {\text{-1,-1,-1,-1,-1,-1,-1,-1,-1).}} \end{matrix}} \right.}} \end{matrix}$

[0630] Squaring the coefficients gives the probability of collapsing into the desired |τ

=|0110

basis state as 99%—a significant improvement that is critical for the Quantum Associative Memory described in the next section.

[0631] Quantum Associative Memory Structure

[0632] A quantum associative memory (QuAM) can now be constructed from these algorithms. Define {circumflex over (P)} as an operator that implements the algorithm for memorizing patterns described above. Then the operation of the QuAM can be described as follows. Memorizing a set of patterns is simply

|ψ

={circumflex over (P)}|{circumflex over (0)}

,

[0633] with |ψ

being a quantum superposition of basis states, one for each pattern. Now, assume n−1 bits of a pattern are known and the goal is to recall the entire pattern. The modified Grover's algorithm can be used to recall the pattern as ${\psi\rangle} = {\hat{G}\quad \underset{}{{\hat{I}}_{\tau}\hat{G}\quad {\hat{I}}_{\tau}}{\psi\rangle}}$

[0634] followed by

|ψ

={circumflex over (GI)}|ψ

,

[0635] repeated T times (how to calculate T is covered in Appendix 3 and below), where τ=b₁b₂b₃? with b_(i) being the value of the i-th known bit. Since there are two states whose first three bits would match those of τ, there will be 2 states that have their phases rotated, or marked, by the Î_(τ) operator. Thus, with 2n+1 neurons (qubits) the QuAM can store up to N=2^(n) patterns in O(mn) steps and requires O({square root}{square root over (N)}) time to recall a pattern.

[0636] As an example of the QuAM, assume a set of patterns p={0000,0011,0110,1001,1100,1111} is known. Then using the notation of the above described example, a quantum state that stores the pattern set is created as $\left. {\overset{\_}{0}\rangle}\rightarrow{}_{\hat{P}}{\psi\rangle} \right. = {\frac{1}{\sqrt{6}}{\left( {1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1} \right).}}$

[0637] Now assume that the pattern whose first three bits are 011 is to be recalled. Then τ=011?, and applying this equation gives $\begin{matrix} {{\left. {\psi\rangle}\rightarrow{}_{{\hat{I}}_{\tau}}{\psi\rangle} \right. = {\frac{1}{\sqrt{6}}\left( {1,0,0,1,0,0,{- 1},0,0,1,0,0,1,0,0,1} \right)}},} \\  \downarrow \\ {{\left. {\psi\rangle}\rightarrow{}_{\hat{G}}{\psi\rangle} \right. = {\frac{1}{2\sqrt{6}}\left( {{{- 1},1,1,} - {1,1,1,3,1,1,} - {1,1,1,} - {1,1,1,} - 1} \right)}},} \\  \downarrow \\ {{\left. {\psi\rangle}\rightarrow{}_{\hat{I_{\tau}}}{\psi\rangle} \right. = {\frac{1}{2\sqrt{6}}\left( {1,1,1,1,1,1,{- 3},1,1,1,1,1,1,1,1,1} \right)}},} \\  \downarrow \\ {\left. {\psi\rangle}\rightarrow{}_{\hat{G}}{\psi\rangle} \right. = {\frac{1}{8\sqrt{6}}{\left( {1,1,1,1,1,1,17,9,1,1,1,1,1,1,1,1} \right).}}} \end{matrix}$

[0638] At his point, there is a 96.3% probability of observing the system and finding the state |011 ?). Of course there are two states that match and state |0111) has a 22% chance. This may be resolved by a standard voting scheme. Observation of the system shows that the completion of the pattern 011 is 0110.

[0639] Dynamic analysis is described here and in Appendix 4. The results of information analysis, together with dynamic evolution of quantum gate for Grover's algorithm, begins by considering the operator that encoding the input function as: $U_{F} = \begin{bmatrix} I & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & C & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & I & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & I & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & I & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & I & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & I & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & I \end{bmatrix}$

[0640]FIG. 34 shows a general iteration algorithm for information analysis of Grover's QA. In FIGS. 35 and 36 two iterations of this algorithm are reported. From these figures it is observed that:

[0641] 1. The entanglement operator in each iteration increases correlation among the different qubits;

[0642] 2. The interference operator reduces the classical entropy but, as side effect, it destroys part of the quantum correlation measure by the Von Neumann entropy.

[0643] Grover algorithm builds intelligent states in several iterations. Every iteration first encodes the searched function by entanglement, but then partly destroys the encoded information by the interference operator. Several iterations are needed in order to conceal both the need to have encoded information and the need to access it. The Principle of Minimum Classical (Quantum) Entropy in the output of QA leads to a successful result on intelligent output states. The searching QA's (such as Grover's algorithm) check for minimum of Classical Entropy and co-ordination of the gap with Quantum Entropy Amount. The ability of co-ordination of these two values characterises the intelligence of searching QA's.

[0644] When the output vector from the quantum gate has been measured, it must interpret it in order to find x. This step follows from the analyses above. In fact, it is sufficient to choose a large h in order to get the searched vector |x>

|0> or |x>

|1> with probability near to 1. The output vector is encoded back into binary values using the first n basis vector in the resulting tensor product, obtaining string x as the final answer.

[0645] For example, assume that n=2⁴ and m=2¹⁴ (let m be less than maximum possible 2¹⁶ to allow for some generalization and to avoid the contradictory patterns that would otherwise result). Then the QuAM requires O(mn)=O(mn)=O(2¹⁸)<10⁶ operations to memorize the patterns and O({square root}{square root over (N))}=O({square root}{square root over (2¹⁶)})<10³ operators to recall a pattern. Further, the algorithm would require only 2n+1=2·16+1=33 qubits. The QuAM compares favorably with other quantum computational algorithms because it requires far fewer qubits to perform significant computation that appears to be impossible classically.

[0646] A probability of success search can be developed by letting N be the total number of basis states, r₁ be the number of marked states that correspond to stored patterns, r₀ be the number of marked states that do not correspond to stored patterns, and p be the number of patterns stored in the QuAM. The goal is to find the average amplitude {overscore (k)} of the marked states and the average amplitude {overscore (l)} of the unmarked states after applying the above-described equation. It can be shown that

[0647] k₀=4a−ab,

[0648] k₁=4a−ab+1,

[0649] l₀=2a−ab,

[0650] l₁=4a−ab−1.

[0651] Here k₀ is the amplitude of the spurious marked states, k₁ is the amplitude of the marked states that corresponds to stored patterns, l₀ is the amplitude of the spurious unmarked states, l₁ is the amplitude of the unmarked states that corresponds to stored patterns after applying above described equation, and ${a = \frac{2\left( {p - {2r_{1}}} \right)}{N}},\quad {b = {\frac{4\left( {p + r_{0}} \right)}{N}.}}$

[0652] A little more algebra gives the averages as ${\overset{\_}{k} = {{4a} - {ab} + \frac{r_{1}}{r_{0} + r_{1}}}},{{{and}\quad \overset{\_}{l}} = {{- {ab}} + \frac{2{a\left( {N + p - r_{0} - {2r_{1}}} \right)}}{N - r_{0} - r_{1}} - {\frac{\left( {p - r_{1}} \right)}{N - r_{0} - r_{1}}.}}}$

[0653] Now consider this new state described by these equations as the arbitrary initial distribution to which the results can be applied. These can be used to calculate the upper bound on the accuracy of the QuAM as well as the appropriate number of times to apply this equation in order to be as close to that upper bound as possible. The upper bound on accuracy is given by

P _(max)=1−(N−p−r ₀)|l ₀−{overscore (l)}|²−(p−r ₁)|l ₁−{overscore (l)}|²,

[0654] whereas the actual probability at a given time t is

P(t)=P _(max)−(N−r ₀ −r ₁)|{overscore (l)}(t)|².

[0655] The first integer time step T for which the actual probability will be closest to this upper bound is given by rounding the function $T = \frac{\frac{\pi}{2} - {\arctan \left\lbrack {\frac{\overset{\_}{k}}{\overset{\_}{l}}\sqrt{\frac{r_{0} + r_{1}}{N - r_{0} - r_{1}}}} \right\rbrack}}{\arccos \left\lbrack {1 - {2\frac{r_{0} + r_{1}}{N}}} \right\rbrack}$

[0656] to the nearest integer.

[0657] The algorithm described above can handle only binary patterns. Nominal data with more than two values can be handled by converting the multiple values into a binary representation. 11. Quantum Optimization, Quantum Learning and Robustness of the Fuzzy Intelligent Controller

[0658] One embodiment includes extraction of knowledge from the simulation results and forming a robust Knowledge Base (KB) for the fuzzy controller in the intelligent suspension control system (ISCS). The basises for this approach are Grover's QSA (optimization of unified look-up table structure) and quantum learning (KB production rules with relatively minimal sensitivity to different random excitations of the control object).

[0659] According to the structure in FIG. 20, consider the summarization role of Grover's QSA in the process of forming the teaching signal for the KB fuzzy controller. Appendices 2, 3 and 4 provide further descriptions of Grover's QSA operations and model structures.

[0660] 11.1. Standard Grover's QSA structure and Results of the Measurement Process. The individual outcomes of a measurement process can be understood within standard quantum mechanics in terms of executing Grover's QSA. A measurement interaction first entangles system S with the measuring process X. In general, one obtains the state ${\psi\rangle} = {\sum\limits_{i = 1}^{n}{c_{i}{S_{i}\rangle}{X_{i}\rangle}}}$

[0661] where the states |X_(i)

span the pointer basis. This is a unitary Schrodinger process and it correlates every state |S_(i)

with a definite apparatus state |X_(i)

. Since, this is an entangled state, it must be reduced to a particular state |S_(i)

|X_(i)

before the result can be read off. This is achieved by a non-unitary process by projecting the state |ψ

to this state with the help of the projection operator Π_(i)=|X_(i)

X_(i)|. One can obtain the reduced density matrix $\left. \rho\rightarrow\rho^{\prime} \right. = {\sum\limits_{i}^{\quad}{\prod_{i}{\rho \prod_{i}}}}$

[0662] which is diagonal and represents a heterogeneous mixture with probabilities lc. 2.

[0663] The algorithm amplifies the amplitude of an identified target (the amplitude corresponding to a particular eigenstate in this case) at the cost of all other amplitudes to a point where the latter becomes so small that they cannot be recorded by detectors of finite efficiency (see Appendix 2).

[0664] Let the set {|S_(i)

|X_(i)

} (where i=1, 2, . . . , N) be the search elements that a quantum computer apparatus is to deal with. Let these elements be indexed from 0 to N−1. This index can be stored in n bits where N≡2^(n). Let the search problem have exactly M solutions with 1≦M≦N. Let f(ξ) be a function with ξ an integer in the range 0 to N−1. By definition, f(ξ)=1 if ξ is a solution to the search problem and f(ξ)=0 if ξ is not a solution to the search problem. One then needs an oracle that is able to recognize solutions to the search problem (see Appendix 3). This is signaled by making use of a qubit.

[0665] The oracle is a unitary operator 'ο defined by its action on computational basis as follows:

'ο:|ξ

|q

→|ξ|q⊕f(ξ)

[0666] where |ξ

is the index register and the oracle qubit |q

is a single qubit that is flipped if f(ξ)=1 and is unchanged otherwise (see Appendix 4). Thus,

[0667] |ξ

|0

→|ξ

|0

if |ξ

is not a solution

[0668] |ξ

|0

→|ξ

|1

if |ξ

is a solution

[0669] It is convenient to apply the oracle with the oracle qubit initially in the state ${q\rangle} = {\frac{1}{\sqrt{2}}\left( {{0\rangle} - {1\rangle}} \right)}$

[0670] so that 'ο: |ξ

|q

→(−1)^(f(ξ))|ξ

|q

. Then the oracle marks the solutions to the search by shifting the phase of the solution (see Appendices 3 and 4). If there are M solutions, it turns out that one need only apply the search oracle $O\left( \sqrt{\frac{N}{M}} \right)$

[0671] times on the QC. Initially, the QC, assumed to be an integral part of the final detector, is always in the state |0

n. The first step in the Grover's QSA is to apply a Hadamard transform to put the computer in the equal superposition state ${\psi\rangle} = {\frac{1}{\sqrt{N}}{\sum\limits_{\xi = 0}^{N - 1}{{\xi\rangle}.}}}$

[0672] The search algorithm then involves repeated applications of the Grover's iteration (or Grover's operator G) which can be broken up into the following four operations: 1) The oracle 'ο; 2) The Hadamard transform H

n; 3) A conditional phase shift on the computer with every computational basis state except |0

receiving a phase shift of (−1), i.e., |ξ

→(−1)^(f(ξ))|ξ

; 4) The Hadamard transform H

n.

[0673] The combined effect of steps 2, 3 and 4 is (see Appendix 3)

G=H

n(2|0

0|−I)H

n=2|ψ

ψ|−I

[0674] where ${\psi\rangle} = {\frac{1}{\sqrt{N}}{\sum\limits_{\xi = 0}^{N - 1}{{\xi\rangle}.}}}$

[0675] The Grover's operator G can be regarded as a rotation in the two dimensional space spanned by the vector |ψ

(see Appendices 3 and 4) which is a uniform superposition of the solutions to the search problem. To see this, define the normalized states ${{\left. {{{\left| \alpha \right.\rangle} = \left. {\frac{1}{\sqrt{N - M}}\sum\limits_{\xi \quad {are}\quad {solutions}}} \middle| \xi \right.}\rangle} \middle| \beta \right.\rangle} = \left. {\frac{1}{\sqrt{M}}\sum\limits_{\xi \quad {are}\quad {not}\quad {solutions}}} \middle| \xi \right.}\rangle$

[0676] where ${\sum\limits_{\xi \quad {are}\quad {solutions}}\left| \xi \right.}\rangle$

[0677] indicates a sum over all ξ that are solutions to the search problem

[0678] and ${\sum\limits_{\xi \quad {are}\quad {not}\quad {solutions}}\left| \xi \right.}\rangle$

[0679] a sum over all, that are not solutions to the search problem. The initial state are not solutions can be written as $\begin{matrix} {\left. {{{{{{\left| \psi \right.\rangle} = \left. {\frac{1}{\sqrt{N}}\sum\limits_{\xi = 0}^{N - 1}}\quad \middle| \xi \right.}\rangle} = \left. \sqrt{\frac{N - M}{N}} \middle| \alpha \right.}\rangle} + \sqrt{\frac{M}{N}}} \middle| \beta \right.\rangle} & (11.1) \end{matrix}$

[0680] so that the apparatus (with quantum computing) is the space spanned by |α

and |β

to start with. Now notice (according to Appendix 4) that the oracle operator performs a rotation about the vector |α

in the plane defined by |α

and |β

, i.e.,

'ο(

a|α

+b|β

)=

a|α

−b|β

.

[0681] Similarly, G also performs a reflection in the same plane about the vector |ψ

, and the effect of these two reflections is a rotation. Therefore, the state Gk|ψ

remains in the plane spanned by |α

and |β

for all k. The rotation angle can be found as follows. Let ${\cos \left( \frac{\theta}{2} \right)} = \sqrt{\frac{N - M}{N}}$

[0682] so that ${\left. {{{{\left| \psi \right.\rangle} = \left. {\cos \left( \frac{\theta}{2} \right)} \middle| \alpha \right.}\rangle} + {\sin \left( \frac{\theta}{2} \right)}} \middle| \beta \right.\rangle}.$

[0683] Then one can show (see Appendix 4) that $\left. {{{{\left. G \middle| \psi \right.\rangle} = \left. {\cos \left( \frac{3\theta}{2} \right)} \middle| \alpha \right.}\rangle} + {\sin \left( \frac{3\theta}{2} \right)}} \middle| \beta \right.\rangle$

[0684] so that θ is indeed the rotation angle, and so ${\left. {{{{\left. G^{k} \middle| \psi \right.\rangle} = \left. {\cos \left( {\frac{{2k} + 1}{2}\theta} \right)} \middle| \alpha \right.}\rangle} + {\sin \left( {\frac{{2k} + 1}{2}\theta} \right)}} \middle| \beta \right.\rangle}.$

[0685] Thus, the repeated applications of the Grover's operator are rotated the vector |ψ

close to |β

.

[0686] When this happens, an observation in the computational basis produces one of the outcomes superposed in |β

with high probability. In a quantum measurement, only one outcome must occur and hence, the number M of simultaneous solutions that Grover's QSA searches is unity.

[0687] 11.2. Grover's Search Algorithm and Quantum Lower Bounds. Searching an item in an unsorted DB with size N costs a classical computer O(N) running time. A search algorithm consults the DB only O(AN) times. In contrast to algorithms based on the quantum Fourier transformation, with exponential speed-up, the search algorithm only provides a quadratic improvement. However, the algorithm is important because it has broad applications and the same technique can be used to improve solutions of NP-complete problems. Grover's search algorithm is optimal. At least Ω({square root}{square root over (N)}) queries are needed to solve the problem. The following example illustrates the QSA and its lower bound respectively (see Appendices 4 and 5).

[0688] Let f:[N]→{0, 1} be a Boolean function. Assume a quantum black box U_(f) for computing f:U_(f):|x

|y

→|x

|y⊕f(x)

. Set |y

as |0

, then U_(f):|x

|0

→|x

|f(x)

.

[0689] If |y

is initialized to $\frac{\left. {{\left( {{0\rangle} -} \right.1}\rangle} \right)}{\sqrt{2}},$

[0690] the oracle acts as ${{{\left. {U_{f}\text{:}{x\rangle}\left( \frac{\left. {{\left( {{0\rangle} -} \right.1}\rangle} \right)}{\sqrt{2}} \right)}\rightarrow\left( {- 1} \right)^{f{(x)}} \right.}x}\rangle}{\left( \frac{\left. {{\left( {{0\rangle} -} \right.1}\rangle} \right)}{\sqrt{2}} \right).}$

[0691] Assume that there is a single value k such that f(k)=1. If f is specified by a black box, the lower bound is the fewest queries needed to f to determine k.

[0692] 11.2.1. Inversion about the average and its application in the iterative procedure. The unitary transform ${{{{D_{n} = \left. {\sum\limits_{i = 0}^{N - 1}\quad a_{i}} \middle| i \right.}\rangle}->\left. {\sum\limits_{i = 0}^{N - 1}\left( {{2E} - a_{i}} \right)} \middle| i \right.}\rangle},{N = 2^{n}},$

[0693] where E is the average of {a_(i)|0≦i≦N}, can be performed by the matrix $D_{n} = {\begin{pmatrix} {{- 1} + \frac{2}{N}} & \frac{2}{N} & \cdots & \frac{2}{N} \\ \frac{2}{N} & {{- 1} + \frac{2}{N}} & \cdots & \frac{2}{N} \\ \vdots & \vdots & ⋰ & \vdots \\ \frac{2}{N} & \frac{2}{N} & \cdots & {{- 1} + \frac{2}{N}} \end{pmatrix}.}$

[0694] Appendix 4 describes the properties of the operator D.

[0695] As shown in FIG. 67, the operator D increases (decreases) amplitudes that are originally below (above) the mean value μ.

[0696] The QSA iteratively improves the probability of measuring a solution. In each iteration, this algorithm performs two operations: first it consults the oracle U_(f) and then is applies the “inversion about the mean” operator D. The quantum state evolves as

|φ_(i+1)

=DU_(f)|φ_(i)

[0697] along with iteration i to iteration (i+1).

[0698] For example, assume it is desired to find one out of N items. In the first step, as shown in FIG. 68A, prepare the initial state as a uniform superposition over these N items. In each iteration, the entanglement operator U_(f) marks the only solution k, f(k)=1, with a phase shift as indicated in FIG. 68B. The D operation amplifies α_(k), the amplitude of the marked item, and suppresses those of all other items as shown in FIG. 68C. Repeating the process before measurement increases the probability of measuring k.

[0699] For example, after the first iteration, ${\alpha_{k} \approx \frac{3}{\sqrt{N}}};$

[0700] after the second iteration, $\alpha_{k} \approx {\frac{5}{\sqrt{N}}.}$

[0701] More formally, at iteration t, α_(k) and α_(l)(l=0, 1, . . . , N−1;≠k) are $\begin{matrix} {\alpha_{k}^{(t)} = {{\left( {1 - \frac{2}{N}} \right)\alpha_{k}^{({t - 1})}} + {\left( {2 - \frac{2}{N}} \right)\alpha_{l}^{({t - 1})}}}} \\ {\alpha_{l}^{(t)} = {{\left( {- \frac{2}{N}} \right)\alpha_{k}^{({t - 1})}} + {\left( {1 - \frac{2}{N}} \right)\alpha_{l}^{({t - 1})}}}} \end{matrix}$

[0702] Initially, α_(k) ⁽⁰⁾=α_(l) ^((t))=1/{square root}{square root over (N)}. After O(AN) steps, α_(k) becomes constant. Therefore, in the measurement, the probability of observing k becomes constant.

[0703] Increasing the number of iterations does not always increase the chance of measuring the right answer. The amplitude of the marked solution goes up and down as a cycle. If the iterations are not stopped at the right time, the chance of measuring the correct item is reduced.

[0704] 11.2.2. The geometric interpretation. When finding M solutions from a sample space with N entries, one can cluster these items into two orthogonal bases, say ${k\rangle} = {\frac{1}{\sqrt{M}}{\sum\limits_{x \in {f^{- 1}{(1)}}}^{\quad}\quad {x\rangle}}}$

[0705] (the collection of the M solutions) and ${u\rangle} = {\frac{1}{\sqrt{N - M}}{\sum\limits_{x \in {f^{- 1}{(0)}}}^{\quad}\quad {x\rangle}}}$

[0706] (the collection of the remaining items).

[0707]FIG. 69 helps in visualizing the iterative steps in a single plane spanned by these two vectors.

[0708] For original state ${{\varphi_{0}\rangle} = {\frac{1}{\sqrt{N}}{\sum\limits_{x = 0}^{{N - 1}\quad}\quad {x\rangle}}}},$

[0709] according to Eq.(11.1), it can be rewritten as $\begin{matrix} {{\varphi_{0}\rangle} = {{\frac{\sqrt{M}}{\sqrt{N}}\left( {\frac{1}{\sqrt{M}}{\sum\limits_{x \in {f^{- 1}{(1)}}}^{\quad}\quad {x\rangle}}} \right)} + {\frac{\sqrt{N - M}}{\sqrt{N}}\left( {\frac{1}{\sqrt{N - M}}{\sum\limits_{x \in {f^{- 1}{(0)}}}^{\quad}\quad {x\rangle}}} \right)}}} \\ {{= {{\sqrt{\frac{M}{N}}{k\rangle}} + {\sqrt{\frac{N - M}{N}}{{u\rangle}.}}}}} \end{matrix}$

[0710] In the oracle consultation, the operator U_(f) shifts the phase in the |k

component and therefore reflects the acted vector about |u

. Meanwhile, since D is a reflection about |00 . . . 0) in the Hadamard basis (as shown in Appendix 4), it reflects the acted vector about |φ₀

. The product of these two operators, DU_(f), performs an equivalent 2θ-rotation operation, where ${\theta \equiv {\sin^{- 1}\sqrt{\frac{M}{N}}}} = {\cos^{- 1}{\sqrt{\frac{N - M}{N}}.}}$

[0711] After i such iterations, the state becomes

(DU _(f))^(j)|φ₀

=sin((2j+1)θ)|k

+cos((2j+1)θ)|

u

[0712] In the special case of N items (N>>1), θ≧sin θ=1/{square root}{square root over (N)}, to maximize the probability of obtaining the correct measurement, the needed number of iterations is: $\cong \frac{\pi/2}{2\quad \theta} \leq {\frac{\pi \quad \sqrt{N}}{4}.}$

[0713] Consequently, Grover's search algorithm makes O({square root}{square root over (N)}) queries.

[0714] Through this visualization, it can be seen that if the number of iterations is not chosen properly, the final vector might not be rotated to a desired angle, which results in a small magnitude is projected onto the |k

direction, which means a small probability of measuring the right answer.

[0715] 11.2.3 Quantum Lower Bounds. In light of the previously-developed quantum algorithms, one might ask if a quantum computer can solve NP-complete problems in polynomial time. Consider the satisfiability (SAT) problem, the first proven NP-complete problem. It can be formulated as a search problem. That is, given a Boolean formula f(x_(l), x₂, . . . , x_(n)), search an assignment under which the value of the expression is 1. The task is to devise a quantum algorithm to search within poly(n), or log N (N=2^(n)), steps. A quantum algorithm that solves this problem must make Ω({square root}{square root over (N)}) queries to the quantum oracle U_(f). Two arguments can be used to show this: the hybrid argument, and the quantum adversary method.

[0716] For the hybrid argument, consider any quantum algorithm A for solving the search problem. First do a test run of A on function f≡0. Define the query magnitude of x to be ${\sum\limits_{t}{\alpha_{x,t}}^{2}},$

[0717] where α_(x,t) is the amplitude with which A queries x at time t. The expectation value of the query magnitudes ${{\underset{x}{E}\left( {\sum\limits_{t}{\alpha_{x,t}}^{2}} \right)} = {\frac{T}{N}.\quad {Thus}}},{{\min\limits_{x}\left( {\sum\limits_{t}{\alpha_{x,t}}^{2}} \right)} \leq {\frac{T}{N}.}}$

[0718] For such an x, by Cauchy-Schwarz inequality, ${\sum\limits_{t}{\alpha_{x,t}}} \leq {\frac{T}{\sqrt{N}}.}$

[0719] Let |φ₀

, |φ₁

, . . . , |φ_(T)

be the states of A_(f). Now run the algorithm A on the function g: g(x)=1, g(y)=0 ∀y≠x. Then ∥|φ_(T)

−|ψ_(T)

∥ must be small.

[0720] It can be shown that |ψ_(T)

=|φ_(T)

+|E₀

+|E₁

+ . . . +|E_(T−1)

, where ∥|E_(t)

∥≦|α_(x,t)|. To show this, consider two runs of algorithm A, which differ only on the t-th step: one queries the function f and the other queries the function g. Both runs query the functionf in the first t−1 steps. Then at the end of the t-th step, the state of the first run is |φ_(t)

, whereas the state of the second run is |φ_(t)

+|F_(t)

, where ∥|F_(t)

∥≦|α_(x,t)|. Now, if U is the unitary transform describing the remaining (T−t) steps, then the final state after T steps for the two runs are U|φ_(t)

and U(|φ_(t)

+|F_(t)

), respectively. The latter state can be written as U|φ_(t)

+|E_(t)

, where |E_(t)

=U|F_(t)

. Thus switching the queried function only on the t-th step results in a change in the final state of the algorithm by |F_(t)

, where ∥|E_(t)

∥≦|α_(x,t)|. Therefore switching the queried function in all the steps results in the change |E₀

+|E₁

+ . . . +|E_(T−)1

in the final state, where ∥|E_(t)

∥≦|α_(x,t)|.

[0721] It follows that ${{{\psi_{T}\rangle} - {\varphi_{T}\rangle}}} \leq {\sum\limits_{t}{\alpha_{x,t}}} \leq {\frac{T}{\sqrt{N}}.}$

[0722] Measuring |ψ_(T)

results in (a sample from) a distribution that is $O\left( \frac{T}{\sqrt{N}} \right)$

[0723] of the distribution that results from measuring |φ_(T)

.

[0724] Thus, any algorithm that distinguishes f from g with constant probability must take a number of steps T=Ω({square root}{square root over (N)}).

[0725] One can repeat the argument with another function h, and thus show that the final state of A while querying h satisfies ${{{X_{T}\rangle} - {\varphi_{T}\rangle}}} \leq {\sum\limits_{t}{\alpha_{x,t}}} \leq {\frac{T}{\sqrt{N}}.}$

[0726] By the triangle inequality it is true that ${{{X_{T}\rangle} - {\varphi_{T}\rangle}}} \leq {\frac{2T}{\sqrt{N}}.}$

[0727] Thus any quantum algorithm that distinguishes h from g with constant probability must take a number of steps T=Ω({square root}{square root over (N)}).

[0728] For the quantum adversary method assume initially one has two unentangled registers, an input-register and a work-register, with states $\left( {\sum\limits_{x \in {\lbrack N\rbrack}}{x\rangle}} \right) \otimes {{0\rangle}.}$

[0729] And a quantum algorithm queries the first register and operates on the second register. If the algorithm works correctly, the final states of these registers must be strongly entangled, that is $\sum\limits_{x \in {\lbrack N\rbrack}}{\left( {{x\rangle} \otimes {{x,{junk}}\rangle}} \right).}$

[0730] The amplitudes in the above two expressions are omitted. A suitable measure of entanglement increases from 0 to N in queries from the initial state to final state. Moreover, the entanglement can only increase during a query and this increase is bounded by O({square root}{square root over (N)}) per query, thus yielding as Ω({square root}{square root over (N)}) a lower bound (see Appendices 3 and 4).

[0731] 11.3. The forming of unified teaching signal by Grover's QSA. FIG. 21 shows the forming process of a KB of fuzzy P-controller in the ICSS. The box 131, based on the GA, forms the set of teaching signals for different stochastic road signals with different statistics. Box 2101, using the information compressor, produces individual robust teaching signals. This set of signals is an input for the QGSA in box 2001. FIG. 70 shows the preparation of the generalized teaching signal K⁰ using the properties of Grover's QSA. Box 7001 produces teaching signals according to simulations of the dynamic behavior of the ISCS. This set of teaching signals is provided to a box 7002 that produces the selection of the superposition in the present set of teaching signals and achieves the parallel massive computation in the QSA. Box 7007 illustrates this main superposition operator in the QSA computation. Boxes 7003 and 7008 show calculation of the entanglement operator in the QSA computation. Boxes 7004 and 7009 are show simulation of the interference operator in the QSA computation. Box 7006 shows calculation of the number of “good” solutions according to FIG. 27. Box 7805 shows the final measurement result of the quantum computing.

[0732]FIG. 71 shows the working structure of the QGSA. Box 7105 shows production of information about the dynamic behavior of the ISCS under stochastic road signals, which are provided to Box 7104. In Box 7104 the fitness function is calculated according the working structure of the GA in Box 7001. Box 7101 shows the selection operator of the GA. Box 7102 is shows the structure of the crossover operator, and Box 7103 shows the structure of the mutation operator of the GA. An output of Box 7001 is provided to Box 7104. Box 7104 shows coding and evaluation of control signal fitness. Box 7006 evaluates the “good” solution in look-up table of the P-controller, and Box 7005 shows monitoring of this solution.

[0733] Fast exponential speed-up QSA for forming at KB of the fuzzy P-controller. In the case of an ISCS, with four position-controlled (P-controller) dampers, there are four solutions in the unsorted DB of damper positions produced after the GA from different road signals for fixed sampling control time. According to Appendix 5, one can introduce the following additional quantum black box U_(f), which is a unitary transformation meant to provide certain information about the oracle when an n-qubit state vector |x

is fed into it (see Eq.(A5.25)):

U_(f):|x

|y

|x

|y⊕f_(ω)(x))

[0734] Here, |y

is the (1-qubit) register that described in Section A5.3, and ⊕ means XOR (exclusive OR) operation. Then have $U_{f}:\left. {{{x\rangle} \otimes \frac{1}{\sqrt{2}}}\left( {{0\rangle} - {1\rangle}} \right)}\mapsto{\left( {- 1} \right)^{f_{\omega}{(x)}}{{x\rangle} \otimes \frac{1}{\sqrt{2}}}{\left( {{0\rangle} - {1\rangle}} \right).}} \right.$

[0735] The effect of U_(f) is to invert the phase of the oracle while leaving all the other states intact. If one queries the state after one application of U_(f) on |s

, the success probability is ${1 - {{\langle{s{U_{f}}s}\rangle}}^{2}} \approx {\frac{4}{N}.}$

[0736] Thus the U_(f) operation enhanced the probability of finding the oracle by four times compared to the case of using a one-time blind guess. Grover's strategy is to repeat the operation of applying U_(f) followed by (2|s

s|−1) about {square root}{square root over (N)} times to successively amplify the probability amplitude of finding the oracle.

[0737] The observation above is described in Appendix 5 and leads to an alternative way to find the oracle: subdivide the total Hilbert space into N/4 subspaces using the first n−2 qubits and then pinpoint the subspace containing the oracle. FIG. 72 shows the geometrical interpretation of a new oracle model. Box 7300 in FIG. 73 shows the algorithm flow chart of new oracle based on four entanglement operators U_(f) (in Boxes 7301, 7302, 7303, and 7304) for definition of the damper position's properties. Permutation operators P in Boxes 7305 and 7306 are described by Eq.(A5.30). The role of these operators in finding damper positions is described in Appendix 5. Operator Pr is the projection operator, and M is the measurement operator (additional query) that can be ignored. Box 7307 shows the quantum oracle gate. An output of box 7307 is provided as an input for Box 7308 (which describes the Grover's QSA).

[0738] Marked states of the P-controllers as register positions RF, LF, RR, LR for damper positions in the ISCS are described by Eqs.(A5.28) and (A5.29)—for marked states in FIG. 72. For convenience, adopt |s

|y

as the initial state and defined this state as in Section 11.1 from the measurement process viewpoint. Appendix 5, Section A5.3, shows that other initial conditions will yield the same conclusion so that choosing the correct initial condition is not an issue. Now, drop the register qubit Iy) from the notation to simplify the notation since it remains invariant after each operation. FIG. 61 shows details of this algorithm as described in Appendix 5.

[0739] The strategy is to partition the space of all possibilities into subspaces and use a judiciously-chosen projection operator as a polarizer in every subspace to filter out the states, which have the correct first n−2 qubits.

[0740]FIG. 73 shows the quantum gate for the new oracle described in Appendix 5.

[0741] One can use Grover's algorithm to determine which one of the four survived states is the oracle. FIG. 74 shows the forming process of a KB from look-up tables described in FIG. 33. Registers LR1 and RR1 in Table 1, and registers LR2 and RR2 in Table 2 (from FIG. 33 and in FIG. 72) have positions 1/8 and 7/3, corresponding to Cell1 and Cell2 in FIG. 33. These positions are produced by the GA in Box 7401 in FIG. 74. Box 7403 shows a search for new positions for registers LR and RR. Box 7402 and Box 7404 realize Grover's QSA. Box 7405 shows the results of measurements after Grover's QSA for registers LR and RR as 5/7.

[0742] This algorithm has three advantages compared to prior algorithms: it is exponentially fast; it zeros in to the oracle with probability one; and it admits an extra degree of freedom in the choice of the initial state.

[0743] The present description is organized as a main body and Appendices 1-5. The material in Appendices 1-5 is part of the disclosure, and is placed in the appendices merely to organize the material and not to indicate that it is inferior to the material in the main body. Although this invention has been described in terms of certain embodiments, other embodiments apparent to those of ordinary skill in the art also are within the scope of this invention. Various changes and modifications may be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is defined by the claims that follow Appendix 5. 

What is claimed is:
 1. A quantum search system for global optimization of a knowledge base and a robust fuzzy control algorithm design for an intelligent mechatronic control suspension system based on quantum soft computing, comprising: a quantum genetic search module configured to develop a teaching signal for a fuzzy-logic suspension controller, said teaching signal configured to provides a desired set of control qualities over different types of roads; a genetic analyzer module configured to produce a plurality of solutions, at least one solution for each of said different types of roads; and a quantum search module configured to search said plurality of solutions for information to construct said teaching signal.
 2. The quantum search system of claim 1, further comprising a quantum-logic feedback module for simulation of look-up tables for said fuzzy-logic suspension controller.
 3. The quantum search system of claim 1, where said genetic analyzer module uses a fitness function that reduces entropy production in a suspension system controlled by said fuzzy-logic controller.
 4. The quantum search system of claim 1, where said genetic analyzer module comprises a fitness function that is based on physical laws of minimum entropy and biologically inspired constraints relating to rider comfort or driveability.
 5. The quantum search system of claim 1, wherein said genetic analyzer is used in an off-line mode to develop said plurality of solutions for one or more roads having different statistical characteristics.
 6. The quantum search system of claim 1, wherein each of said solutions is optimized by the genetic analyzer module for a particular type of road.
 7. The quantum search system of claim 1, wherein an information filter is used to filter said plurality of solution to produce a plurality of compressed solutions.
 8. The quantum search system of claim 7, further comprising a fuizzy controller that approximates said teaching signal using knowledge from a knowledge base.
 9. A control system for a plant comprising: a neural network configured to control a fuzzy controller, said fuzzy controller configured to control linear controller that controls said plant; a genetic analyzer configured to train said neural network, said genetic analyzer comprising a fitness function that reduces sensor information while reducing entropy production based on biologically-inspired constraints.
 10. The control system of claim 9, wherein said genetic analyzer uses a difference between a time derivative of entropy in a control signal from a learning control unit and a time derivative of an entropy inside the plant as a measure of control performance.
 11. The control system of claim 10, wherein entropy calculation of an entropy inside said plant is based on a thermodynamic model of an equation of motion for said plant that is treated as an open dynamic system.
 12. The control system of claim 9, wherein said genetic analyzer generates a teaching signal for each of a plurality of solution spaces.
 13. The control system of claim 9, wherein said linear control system produces a control signal based on data obtained from one or more sensors that measure said plant.
 14. The control system of claim 13, wherein said plant comprises a suspension system and said cone or more sensors comprise angle and position sensors that measure angle and position of elements of the suspension system.
 15. The control system of claim 9, wherein fuzzy rules used by said fuzzy controller are evolved using a kinetic model of the plant in an offline learning mode.
 16. The control system of claim 15, wherein data from said kinetic model are provided to an entropy calculator that calculates input entropy production and output entropy production of the plant.
 17. The control system of claim 16, wherein said input entropy production and said output entropy production are provided to a fitness function calculator that calculates a fitness function as a difference in entropy production rates constrained by one or more constraints obtained from rider preferences.
 18. The control system of claim 17, wherein said genetic analyzer uses said fitness function to develop a set of training signals for an off-line control system, each training signal corresponding to a different operational environment.
 19. The control system of claim 18, wherein a quantum search algorithm is used to reduce the complexity of said set of training signals by developing a universal training signal.
 20. The control system of claim 9, wherein control parameters in the form of a knowledge base from an off-line control system are provided to an online control system that, using information from said knowledge base, develops a control strategy, said knowledge base developed in part by using a quantum search algorithm.
 21. A method for controlling a nonlinear plant by obtaining an entropy production difference between a time derivative dS_(u)/dt of an entropy of the plant and a time derivative dS_(c)/dt of an entropy provided to the plant from a controller; using a genetic algorithm that uses the entropy production difference as a performance function to evolve a control rule in an off-line controller; filtering control rules from an off-line controller to reduce information content and providing filtered control rules to an online controller to control the plant.
 22. The method of claim 21, further comprising using said online controller to control a damping factor of one or more shock absorbers in the vehicle suspension system.
 23. The method of claim 21, further comprising evolving a control rule relative to a variable of the controller by using of a genetic algorithm, said genetic algorithm using a fitness function based on said entropy production difference.
 24. A self-organizing control system, comprising: a simulator configured to use a thermodynamic model of a nonlinear equation of motion for a plant, a fitness function module that calculates a fitness function based on an entropy production difference between a time differentiation of an entropy of said plant dS_(u)/dt and a time differentiation dS_(c)/dt of an entropy provided to the plant by a linear controller that controls the plant; a genetic analyzer that uses said fitness function to provide a plurality of teaching signals, each teaching signal corresponding to a solution space; a quantum search algorithm module configured to find a global teaching signal from said plurality of teaching signals; a fuzzy logic classifier that determines one or more fuzzy rules by using a learning process and said global teaching signal; and a fuzzy logic controller that uses said fuzzy rules to set a control variable of the linear controller.
 25. The self-organizing control system of claim 24, wherein said global teaching signal is filtered to remove stochastic noise.
 26. A control system comprising: a genetic algorithm that provides a plurality of teaching signals corresponding to a plurality of spaces using a fitness function that provides a measure of control quality based on reducing production entropy in each space; a local entropy feedback loop that provides control by relating stability of a plant and controllability of the plant; and a quantum search module to provide a global control teaching signal from said plurality of teaching signals.
 27. The control system of claim 26, wherein said quantum search module comprises a quantum associative memory.
 28. The control system of claim 27, wherein said quantum associative memory is used in a quantum neural network.
 29. The control system of claim 28, wherein said plant is a vehicle suspension system.
 30. The control system of claim 29, wherein each of said spaces corresponds stochastic characteristics of a selected stretch of road.
 31. An optimization control method for a shock absorber comprising the steps of: obtaining a difference between a time differential of entropy inside a shock absorber and a time differential of entropy given to said shock absorber from a control unit that controls said shock absorber; and optimizing at least one control parameter of said control unit by using a genetic algorithm and a quantum search algorithm, said genetic algorithm using said difference as a fitness function, said fitness function constrained by at least one biologically-inspired constraint.
 32. The optimization control method of claim 31, wherein said time differential of said step of optimizing reduces an entropy provided to said shock absorber from said control unit.
 33. The optimization control method of claim 31, wherein said control unit is comprises a fuzzy neural network, and wherein a value of a coupling coefficient for a fuzzy rule is optimized by using said genetic algorithm.
 34. The optimization control method of claim 31, wherein said control unit comprises an offline module and a online control module, said method further including the steps of optimizing a control parameter based on said genetic algorithm by using said performance function, determining said control parameter of said online control module based on said control parameter and controlling said shock absorber using said online control module.
 35. The optimization control method of claim 34, wherein said offline module provides optimization using a simulation model, said simulation model based on a kinetic model of a vehicle suspension system.
 36. The optimization control method of claim 34, wherein said shock absorber is arranged to alter a damping force by altering a cross-sectional area of an oil passage, and said control unit controls a throttle valve to thereby adjust said cross-sectional area of said oil passage.
 37. A method for control of a plant comprising the steps of: calculating a first entropy production rate corresponding to an entropy production rate of a control signal provided to a model of said plant; calculating a second entropy production rate corresponding to an entropy production rate of said model of said plant; determining a fitness function for a genetic optimizer using said first entropy production rate and said second entropy production rate; providing said fitness function to said genetic optimizer; providing a teaching output from said genetic optimizer to a quantum search algorithm followed by an information filter; providing a compressed teaching signal from said information filter to a fuzzy neural network, said fuzzy neural network configured to produce a knowledge base; providing said knowledge base to a fuzzy controller, said fuzzy controller using an error signal and said knowledge base to produce a coefficient gain schedule; and providing said coefficient gain schedule to a linear controller.
 38. The method of claim 37, wherein said genetic optimizer minimizes entropy production under one or more constraints.
 39. The method of claim 38, wherein at least one of said constraints is related to a user-perceived evaluation of control performance.
 40. The method of claim 37, wherein said model of said plant comprises a model of a suspension system.
 41. The method of claim 37, wherein said second control system is configured to control a physical plant.
 42. The method of claim 37, wherein said second control system is configured to control a shock absorber.
 43. The method of claim 37, wherein said second control system is configured to control a damping rate of a shock absorber.
 44. The method of claim 37, wherein said linear controller receives sensor input data from one or more sensors that monitor a vehicle suspension system.
 45. The method of claim 44, wherein at least one of said sensors is a heave sensor that measures a vehicle heave.
 46. The method of claim 44, wherein at least one of said sensors is a length sensor that measures a change in length of at least a portion of said suspension system.
 47. The method of claim 44, wherein at least one of said sensors is an angle sensor that measures an angle of at least a portion of said suspension system with respect to said vehicle.
 48. The method of claim 44, wherein at least one of said sensors is an angle sensor that measures an angle of a first portion of said suspension system with respect to a second portion of said suspension system.
 49. The method of claim 37, wherein said second control system is configured to control a throttle valve in a shock absorber.
 50. A control apparatus comprising: off-line optimization means for determining a control parameter from an entropy production rate to produce a knowledge base from a compressed teaching signal found by a quantum search algorithm; and online control means for using said knowledge base to develop a control parameter to control a plant. 